/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench/hard-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 10:45:49,557 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 10:45:49,560 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 10:45:49,597 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 10:45:49,597 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 10:45:49,598 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 10:45:49,599 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 10:45:49,599 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 10:45:49,600 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 10:45:49,604 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 10:45:49,605 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 10:45:49,606 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 10:45:49,606 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 10:45:49,608 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 10:45:49,609 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 10:45:49,612 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 10:45:49,612 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 10:45:49,613 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 10:45:49,614 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 10:45:49,618 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 10:45:49,620 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 10:45:49,621 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 10:45:49,621 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 10:45:49,622 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 10:45:49,623 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 10:45:49,627 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 10:45:49,628 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 10:45:49,628 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 10:45:49,628 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 10:45:49,629 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 10:45:49,629 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 10:45:49,629 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 10:45:49,630 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 10:45:49,631 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 10:45:49,631 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 10:45:49,632 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 10:45:49,632 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 10:45:49,632 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 10:45:49,632 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 10:45:49,633 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 10:45:49,633 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 10:45:49,634 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 10:45:49,635 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 10:45:49,643 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 10:45:49,644 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 10:45:49,644 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 10:45:49,645 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 10:45:49,646 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:45:49,646 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 10:45:49,646 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 10:45:49,647 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 10:45:49,647 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 10:45:49,647 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 10:45:49,647 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 10:45:49,859 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 10:45:49,877 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 10:45:49,878 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 10:45:49,879 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 10:45:49,880 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 10:45:49,880 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/hard-ll.c [2022-04-08 10:45:49,924 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09087b001/81bd34237b454387ae7a6f176cda2494/FLAG1a4d697df [2022-04-08 10:45:50,310 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 10:45:50,310 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/hard-ll.c [2022-04-08 10:45:50,315 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09087b001/81bd34237b454387ae7a6f176cda2494/FLAG1a4d697df [2022-04-08 10:45:50,328 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/09087b001/81bd34237b454387ae7a6f176cda2494 [2022-04-08 10:45:50,330 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 10:45:50,331 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 10:45:50,337 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 10:45:50,337 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 10:45:50,341 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 10:45:50,342 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,343 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@78a8707c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50, skipping insertion in model container [2022-04-08 10:45:50,343 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,347 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 10:45:50,358 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 10:45:50,512 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/hard-ll.c[538,551] [2022-04-08 10:45:50,539 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:45:50,546 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 10:45:50,557 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/hard-ll.c[538,551] [2022-04-08 10:45:50,576 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 10:45:50,587 INFO L208 MainTranslator]: Completed translation [2022-04-08 10:45:50,588 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50 WrapperNode [2022-04-08 10:45:50,588 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 10:45:50,589 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 10:45:50,589 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 10:45:50,589 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 10:45:50,598 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,598 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,603 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,604 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,615 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,620 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,625 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,627 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 10:45:50,628 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 10:45:50,628 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 10:45:50,628 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 10:45:50,629 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (1/1) ... [2022-04-08 10:45:50,634 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 10:45:50,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:50,652 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 10:45:50,675 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 10:45:50,686 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 10:45:50,686 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 10:45:50,686 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 10:45:50,686 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 10:45:50,686 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 10:45:50,687 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 10:45:50,687 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 10:45:50,688 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 10:45:50,688 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 10:45:50,688 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 10:45:50,689 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 10:45:50,689 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 10:45:50,689 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 10:45:50,689 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 10:45:50,739 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 10:45:50,740 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 10:45:50,869 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 10:45:50,885 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 10:45:50,885 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 10:45:50,887 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:45:50 BoogieIcfgContainer [2022-04-08 10:45:50,887 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 10:45:50,888 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 10:45:50,888 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 10:45:50,905 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 10:45:50,906 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 10:45:50" (1/3) ... [2022-04-08 10:45:50,906 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@841020b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:45:50, skipping insertion in model container [2022-04-08 10:45:50,906 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 10:45:50" (2/3) ... [2022-04-08 10:45:50,906 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@841020b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 10:45:50, skipping insertion in model container [2022-04-08 10:45:50,907 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 10:45:50" (3/3) ... [2022-04-08 10:45:50,908 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll.c [2022-04-08 10:45:50,911 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 10:45:50,911 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 10:45:50,940 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 10:45:50,945 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 10:45:50,945 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 10:45:50,957 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-08 10:45:50,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 10:45:50,969 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:50,969 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:50,970 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:50,973 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:50,973 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-08 10:45:50,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:50,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [754754413] [2022-04-08 10:45:50,998 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:50,998 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 2 times [2022-04-08 10:45:51,001 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:51,001 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1301334331] [2022-04-08 10:45:51,001 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:51,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:51,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:45:51,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,192 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-08 10:45:51,192 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 10:45:51,192 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 10:45:51,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:45:51,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 10:45:51,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 10:45:51,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 10:45:51,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 10:45:51,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:45:51,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-08 10:45:51,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-08 10:45:51,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-08 10:45:51,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret6 := main(); {38#true} is VALID [2022-04-08 10:45:51,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-08 10:45:51,215 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-08 10:45:51,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-08 10:45:51,216 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-08 10:45:51,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-08 10:45:51,216 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-08 10:45:51,217 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-08 10:45:51,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 10:45:51,218 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-08 10:45:51,218 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-08 10:45:51,218 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-08 10:45:51,219 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-08 10:45:51,219 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:45:51,219 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:51,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1301334331] [2022-04-08 10:45:51,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1301334331] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:51,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:51,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:45:51,224 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:51,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [754754413] [2022-04-08 10:45:51,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [754754413] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:51,225 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:51,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 10:45:51,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [378854411] [2022-04-08 10:45:51,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:51,232 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:45:51,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:51,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:51,264 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 10:45:51,264 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:51,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 10:45:51,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:45:51,286 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:51,459 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-08 10:45:51,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 10:45:51,460 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:45:51,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:51,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 10:45:51,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-08 10:45:51,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-08 10:45:51,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:51,592 INFO L225 Difference]: With dead ends: 61 [2022-04-08 10:45:51,593 INFO L226 Difference]: Without dead ends: 30 [2022-04-08 10:45:51,595 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 10:45:51,598 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 10:45:51,600 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:45:51,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-08 10:45:51,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-08 10:45:51,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:51,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:51,624 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:51,624 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:51,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:51,627 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 10:45:51,627 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 10:45:51,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:51,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:51,628 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 10:45:51,628 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-08 10:45:51,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:51,631 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-08 10:45:51,631 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 10:45:51,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:51,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:51,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:51,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:51,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:51,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-08 10:45:51,636 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-08 10:45:51,636 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:51,637 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-08 10:45:51,637 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 38 transitions. [2022-04-08 10:45:51,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:51,694 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-08 10:45:51,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 10:45:51,694 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:51,695 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:51,695 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 10:45:51,695 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:51,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:51,696 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-08 10:45:51,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:51,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [518259649] [2022-04-08 10:45:51,697 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:51,697 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 2 times [2022-04-08 10:45:51,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:51,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [274248745] [2022-04-08 10:45:51,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:51,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:51,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,786 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:45:51,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {292#true} is VALID [2022-04-08 10:45:51,795 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 10:45:51,795 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 10:45:51,795 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:45:51,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:51,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 10:45:51,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 10:45:51,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 10:45:51,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 10:45:51,802 INFO L272 TraceCheckUtils]: 0: Hoare triple {292#true} call ULTIMATE.init(); {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:45:51,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {292#true} is VALID [2022-04-08 10:45:51,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 10:45:51,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {292#true} {292#true} #94#return; {292#true} is VALID [2022-04-08 10:45:51,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {292#true} call #t~ret6 := main(); {292#true} is VALID [2022-04-08 10:45:51,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {292#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {292#true} is VALID [2022-04-08 10:45:51,803 INFO L272 TraceCheckUtils]: 6: Hoare triple {292#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {292#true} is VALID [2022-04-08 10:45:51,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {292#true} ~cond := #in~cond; {292#true} is VALID [2022-04-08 10:45:51,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {292#true} assume !(0 == ~cond); {292#true} is VALID [2022-04-08 10:45:51,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {292#true} assume true; {292#true} is VALID [2022-04-08 10:45:51,804 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {292#true} {292#true} #78#return; {292#true} is VALID [2022-04-08 10:45:51,804 INFO L290 TraceCheckUtils]: 11: Hoare triple {292#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {301#(= main_~q~0 0)} is VALID [2022-04-08 10:45:51,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {301#(= main_~q~0 0)} assume !false; {301#(= main_~q~0 0)} is VALID [2022-04-08 10:45:51,805 INFO L272 TraceCheckUtils]: 13: Hoare triple {301#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {302#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:45:51,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {302#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {303#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:45:51,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {303#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {293#false} is VALID [2022-04-08 10:45:51,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {293#false} assume !false; {293#false} is VALID [2022-04-08 10:45:51,806 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:45:51,807 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:51,807 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [274248745] [2022-04-08 10:45:51,807 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [274248745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:51,807 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:51,807 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:45:51,807 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:51,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [518259649] [2022-04-08 10:45:51,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [518259649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:51,808 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:51,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:45:51,808 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2065408878] [2022-04-08 10:45:51,808 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:51,809 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:45:51,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:51,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:51,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:51,829 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:45:51,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:51,830 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:45:51,830 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:45:51,831 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:52,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,187 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 10:45:52,188 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:45:52,188 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 10:45:52,188 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:52,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:52,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 10:45:52,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:52,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 10:45:52,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 10:45:52,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:52,246 INFO L225 Difference]: With dead ends: 43 [2022-04-08 10:45:52,246 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 10:45:52,247 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:45:52,248 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 10:45:52,248 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:45:52,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 10:45:52,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-08 10:45:52,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:52,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,254 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,255 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,257 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 10:45:52,257 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 10:45:52,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:52,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:52,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 10:45:52,258 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-08 10:45:52,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,260 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 10:45:52,260 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 10:45:52,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:52,261 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:52,261 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:52,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:52,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-08 10:45:52,262 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-08 10:45:52,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:52,263 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-08 10:45:52,263 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 10:45:52,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 41 transitions. [2022-04-08 10:45:52,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:52,307 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-08 10:45:52,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 10:45:52,309 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:52,310 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:52,310 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 10:45:52,310 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:52,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:52,310 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-08 10:45:52,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:52,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1878190037] [2022-04-08 10:45:52,311 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:52,311 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 2 times [2022-04-08 10:45:52,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:52,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1149495182] [2022-04-08 10:45:52,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:52,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:52,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:52,361 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 10:45:52,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:52,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {551#true} is VALID [2022-04-08 10:45:52,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,368 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 10:45:52,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 10:45:52,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:52,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 10:45:52,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 10:45:52,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 10:45:52,373 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 10:45:52,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:52,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 10:45:52,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 10:45:52,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #80#return; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 10:45:52,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {551#true} call ULTIMATE.init(); {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 10:45:52,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {567#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {551#true} is VALID [2022-04-08 10:45:52,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {551#true} {551#true} #94#return; {551#true} is VALID [2022-04-08 10:45:52,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {551#true} call #t~ret6 := main(); {551#true} is VALID [2022-04-08 10:45:52,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {551#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {551#true} is VALID [2022-04-08 10:45:52,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {551#true} is VALID [2022-04-08 10:45:52,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 10:45:52,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 10:45:52,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,382 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {551#true} {551#true} #78#return; {551#true} is VALID [2022-04-08 10:45:52,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {551#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 10:45:52,383 INFO L290 TraceCheckUtils]: 12: Hoare triple {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 10:45:52,383 INFO L272 TraceCheckUtils]: 13: Hoare triple {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {551#true} is VALID [2022-04-08 10:45:52,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {551#true} ~cond := #in~cond; {551#true} is VALID [2022-04-08 10:45:52,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {551#true} assume !(0 == ~cond); {551#true} is VALID [2022-04-08 10:45:52,383 INFO L290 TraceCheckUtils]: 16: Hoare triple {551#true} assume true; {551#true} is VALID [2022-04-08 10:45:52,384 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {551#true} {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #80#return; {560#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-08 10:45:52,385 INFO L272 TraceCheckUtils]: 18: Hoare triple {560#(= 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)); {565#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:45:52,385 INFO L290 TraceCheckUtils]: 19: Hoare triple {565#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {566#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:45:52,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {566#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {552#false} is VALID [2022-04-08 10:45:52,386 INFO L290 TraceCheckUtils]: 21: Hoare triple {552#false} assume !false; {552#false} is VALID [2022-04-08 10:45:52,386 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 10:45:52,386 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:52,386 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1149495182] [2022-04-08 10:45:52,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1149495182] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:52,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:52,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:45:52,387 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:52,387 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1878190037] [2022-04-08 10:45:52,387 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1878190037] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:52,387 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:52,387 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 10:45:52,387 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2109726632] [2022-04-08 10:45:52,388 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:52,388 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 10:45:52,388 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:52,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:45:52,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:52,402 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 10:45:52,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:52,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 10:45:52,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:45:52,403 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:45:52,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,813 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 10:45:52,813 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:45:52,814 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-08 10:45:52,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:52,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:45:52,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 10:45:52,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:45:52,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-08 10:45:52,827 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-08 10:45:52,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:52,883 INFO L225 Difference]: With dead ends: 47 [2022-04-08 10:45:52,883 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 10:45:52,883 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:45:52,884 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 10:45:52,884 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 10:45:52,885 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 10:45:52,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-08 10:45:52,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:52,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,893 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,893 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,895 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 10:45:52,895 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 10:45:52,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:52,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:52,896 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 10:45:52,896 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-08 10:45:52,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:52,898 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 10:45:52,898 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 10:45:52,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:52,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:52,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:52,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:52,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 10:45:52,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-08 10:45:52,901 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-08 10:45:52,901 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:52,901 INFO L478 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-08 10:45:52,901 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 10:45:52,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 44 transitions. [2022-04-08 10:45:52,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:52,939 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-08 10:45:52,939 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 10:45:52,939 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:52,939 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:52,939 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 10:45:52,940 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:52,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:52,940 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-08 10:45:52,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:52,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1826021509] [2022-04-08 10:45:52,941 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:52,941 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 2 times [2022-04-08 10:45:52,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:52,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [413018782] [2022-04-08 10:45:52,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:52,941 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:52,954 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:52,954 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1346765727] [2022-04-08 10:45:52,954 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:45:52,955 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:52,955 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:52,975 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:45:53,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 10:45:53,017 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:45:53,017 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:53,020 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:45:53,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:53,034 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:53,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {838#true} call ULTIMATE.init(); {838#true} is VALID [2022-04-08 10:45:53,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {838#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {838#true} is VALID [2022-04-08 10:45:53,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 10:45:53,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {838#true} {838#true} #94#return; {838#true} is VALID [2022-04-08 10:45:53,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {838#true} call #t~ret6 := main(); {838#true} is VALID [2022-04-08 10:45:53,226 INFO L290 TraceCheckUtils]: 5: Hoare triple {838#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {838#true} is VALID [2022-04-08 10:45:53,226 INFO L272 TraceCheckUtils]: 6: Hoare triple {838#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {838#true} is VALID [2022-04-08 10:45:53,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 10:45:53,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 10:45:53,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 10:45:53,227 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#true} {838#true} #78#return; {838#true} is VALID [2022-04-08 10:45:53,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {838#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:45:53,231 INFO L290 TraceCheckUtils]: 12: Hoare triple {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:45:53,231 INFO L272 TraceCheckUtils]: 13: Hoare triple {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {838#true} is VALID [2022-04-08 10:45:53,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 10:45:53,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 10:45:53,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 10:45:53,235 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {838#true} {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:45:53,235 INFO L272 TraceCheckUtils]: 18: Hoare triple {876#(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)); {838#true} is VALID [2022-04-08 10:45:53,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {838#true} ~cond := #in~cond; {838#true} is VALID [2022-04-08 10:45:53,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {838#true} assume !(0 == ~cond); {838#true} is VALID [2022-04-08 10:45:53,236 INFO L290 TraceCheckUtils]: 21: Hoare triple {838#true} assume true; {838#true} is VALID [2022-04-08 10:45:53,240 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {838#true} {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {876#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:45:53,241 INFO L272 TraceCheckUtils]: 23: Hoare triple {876#(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)); {913#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:45:53,241 INFO L290 TraceCheckUtils]: 24: Hoare triple {913#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {917#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:53,242 INFO L290 TraceCheckUtils]: 25: Hoare triple {917#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {839#false} is VALID [2022-04-08 10:45:53,242 INFO L290 TraceCheckUtils]: 26: Hoare triple {839#false} assume !false; {839#false} is VALID [2022-04-08 10:45:53,242 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-08 10:45:53,242 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:45:53,243 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:53,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [413018782] [2022-04-08 10:45:53,243 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:53,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1346765727] [2022-04-08 10:45:53,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1346765727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:53,243 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:53,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:45:53,244 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:53,244 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1826021509] [2022-04-08 10:45:53,244 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1826021509] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:53,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:53,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:45:53,244 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [86591931] [2022-04-08 10:45:53,244 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:53,245 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 10:45:53,245 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:53,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 10:45:53,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:53,271 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:45:53,272 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:53,275 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:45:53,275 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:45:53,275 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 10:45:53,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:53,482 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-08 10:45:53,483 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:45:53,483 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 10:45:53,483 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:53,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 10:45:53,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 10:45:53,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 10:45:53,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-08 10:45:53,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-08 10:45:53,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:53,557 INFO L225 Difference]: With dead ends: 66 [2022-04-08 10:45:53,557 INFO L226 Difference]: Without dead ends: 52 [2022-04-08 10:45:53,558 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:45:53,565 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 127 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-08 10:45:53,566 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 127 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:45:53,568 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-08 10:45:53,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-08 10:45:53,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:53,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 10:45:53,591 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 10:45:53,592 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 10:45:53,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:53,597 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 10:45:53,597 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 10:45:53,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:53,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:53,599 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 10:45:53,600 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-08 10:45:53,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:53,606 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-08 10:45:53,606 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 10:45:53,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:53,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:53,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:53,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:53,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 10:45:53,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-08 10:45:53,609 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-08 10:45:53,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:53,609 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-08 10:45:53,609 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 10:45:53,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 63 transitions. [2022-04-08 10:45:53,675 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:53,676 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-08 10:45:53,676 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 10:45:53,676 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:53,676 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:53,696 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 10:45:53,888 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:53,889 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:53,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:53,889 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-08 10:45:53,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:53,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [484231129] [2022-04-08 10:45:53,890 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 10:45:53,890 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 2 times [2022-04-08 10:45:53,890 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:53,890 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1000487327] [2022-04-08 10:45:53,890 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:53,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:53,905 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:53,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1232319924] [2022-04-08 10:45:53,906 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:45:53,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:53,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:53,909 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:45:53,912 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 10:45:53,951 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:45:53,951 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:53,953 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 10:45:53,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:53,968 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:45:54,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {1265#true} call ULTIMATE.init(); {1265#true} is VALID [2022-04-08 10:45:54,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {1265#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1265#true} is VALID [2022-04-08 10:45:54,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 10:45:54,113 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1265#true} {1265#true} #94#return; {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L272 TraceCheckUtils]: 4: Hoare triple {1265#true} call #t~ret6 := main(); {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {1265#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L272 TraceCheckUtils]: 6: Hoare triple {1265#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 10:45:54,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1265#true} {1265#true} #78#return; {1265#true} is VALID [2022-04-08 10:45:54,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {1265#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,115 INFO L272 TraceCheckUtils]: 13: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1265#true} is VALID [2022-04-08 10:45:54,115 INFO L290 TraceCheckUtils]: 14: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 10:45:54,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 10:45:54,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 10:45:54,116 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,116 INFO L272 TraceCheckUtils]: 18: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1265#true} is VALID [2022-04-08 10:45:54,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 10:45:54,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 10:45:54,117 INFO L290 TraceCheckUtils]: 21: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 10:45:54,117 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,117 INFO L272 TraceCheckUtils]: 23: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1265#true} is VALID [2022-04-08 10:45:54,117 INFO L290 TraceCheckUtils]: 24: Hoare triple {1265#true} ~cond := #in~cond; {1265#true} is VALID [2022-04-08 10:45:54,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {1265#true} assume !(0 == ~cond); {1265#true} is VALID [2022-04-08 10:45:54,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {1265#true} assume true; {1265#true} is VALID [2022-04-08 10:45:54,118 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1265#true} {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,118 INFO L290 TraceCheckUtils]: 28: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,119 INFO L290 TraceCheckUtils]: 29: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:45:54,119 INFO L272 TraceCheckUtils]: 30: Hoare triple {1303#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:45:54,120 INFO L290 TraceCheckUtils]: 31: Hoare triple {1361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:45:54,120 INFO L290 TraceCheckUtils]: 32: Hoare triple {1365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1266#false} is VALID [2022-04-08 10:45:54,120 INFO L290 TraceCheckUtils]: 33: Hoare triple {1266#false} assume !false; {1266#false} is VALID [2022-04-08 10:45:54,120 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 10:45:54,121 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 10:45:54,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:45:54,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1000487327] [2022-04-08 10:45:54,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:45:54,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1232319924] [2022-04-08 10:45:54,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1232319924] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:54,121 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:54,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:45:54,121 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:45:54,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [484231129] [2022-04-08 10:45:54,122 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [484231129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:45:54,122 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:45:54,122 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:45:54,122 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1412839468] [2022-04-08 10:45:54,122 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:45:54,122 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 10:45:54,122 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:45:54,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:45:54,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:54,139 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:45:54,140 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:54,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:45:54,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 10:45:54,140 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:45:54,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:54,330 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-08 10:45:54,330 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:45:54,330 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-08 10:45:54,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:45:54,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:45:54,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 10:45:54,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:45:54,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 10:45:54,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 10:45:54,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:54,382 INFO L225 Difference]: With dead ends: 65 [2022-04-08 10:45:54,382 INFO L226 Difference]: Without dead ends: 58 [2022-04-08 10:45:54,382 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 10:45:54,383 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 104 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-08 10:45:54,383 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 104 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 10:45:54,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-08 10:45:54,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-08 10:45:54,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:45:54,414 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 10:45:54,414 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 10:45:54,414 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 10:45:54,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:54,416 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 10:45:54,416 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 10:45:54,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:54,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:54,417 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 10:45:54,417 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-08 10:45:54,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:45:54,419 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-08 10:45:54,419 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-08 10:45:54,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:45:54,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:45:54,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:45:54,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:45:54,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-08 10:45:54,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-08 10:45:54,421 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-08 10:45:54,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:45:54,422 INFO L478 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-08 10:45:54,422 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:45:54,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 69 transitions. [2022-04-08 10:45:54,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:45:54,499 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-08 10:45:54,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 10:45:54,500 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:45:54,500 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:45:54,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 10:45:54,700 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:54,701 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:45:54,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:45:54,701 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-08 10:45:54,701 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:45:54,701 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1905414250] [2022-04-08 10:45:59,806 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:45:59,806 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:45:59,806 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 2 times [2022-04-08 10:45:59,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:45:59,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1908024465] [2022-04-08 10:45:59,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:45:59,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:45:59,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:45:59,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [597153012] [2022-04-08 10:45:59,816 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:45:59,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:45:59,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:45:59,817 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:45:59,820 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 10:45:59,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:45:59,856 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:45:59,857 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 10:45:59,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:45:59,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:46:00,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 10:46:00,632 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1733#true} is VALID [2022-04-08 10:46:00,632 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,632 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 10:46:00,632 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret6 := main(); {1733#true} is VALID [2022-04-08 10:46:00,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1733#true} is VALID [2022-04-08 10:46:00,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1759#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:46:00,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {1759#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1763#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:46:00,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {1763#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1763#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:46:00,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1763#(not (= |assume_abort_if_not_#in~cond| 0))} {1733#true} #78#return; {1770#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 10:46:00,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {1770#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:00,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:00,635 INFO L272 TraceCheckUtils]: 13: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 10:46:00,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,636 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:00,636 INFO L272 TraceCheckUtils]: 18: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 10:46:00,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,637 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,637 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:00,637 INFO L272 TraceCheckUtils]: 23: Hoare triple {1774#(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)); {1733#true} is VALID [2022-04-08 10:46:00,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,638 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,638 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1774#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:00,639 INFO L290 TraceCheckUtils]: 28: Hoare triple {1774#(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; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,639 INFO L272 TraceCheckUtils]: 30: Hoare triple {1826#(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)); {1733#true} is VALID [2022-04-08 10:46:00,640 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,640 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,640 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,641 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #80#return; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,642 INFO L272 TraceCheckUtils]: 35: Hoare triple {1826#(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)); {1733#true} is VALID [2022-04-08 10:46:00,642 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,642 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,642 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,644 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {1826#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,647 INFO L272 TraceCheckUtils]: 40: Hoare triple {1826#(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)); {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:00,647 INFO L290 TraceCheckUtils]: 41: Hoare triple {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1867#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:00,648 INFO L290 TraceCheckUtils]: 42: Hoare triple {1867#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 10:46:00,648 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 10:46:00,648 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 10:46:00,648 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:46:00,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {1734#false} assume !false; {1734#false} is VALID [2022-04-08 10:46:00,975 INFO L290 TraceCheckUtils]: 42: Hoare triple {1867#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1734#false} is VALID [2022-04-08 10:46:00,975 INFO L290 TraceCheckUtils]: 41: Hoare triple {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1867#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:00,976 INFO L272 TraceCheckUtils]: 40: Hoare triple {1883#(= 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)); {1863#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:00,977 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,977 INFO L290 TraceCheckUtils]: 38: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,977 INFO L272 TraceCheckUtils]: 35: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,979 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #80#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,979 INFO L290 TraceCheckUtils]: 33: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,979 INFO L290 TraceCheckUtils]: 32: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,979 INFO L290 TraceCheckUtils]: 31: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,979 INFO L272 TraceCheckUtils]: 30: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,979 INFO L290 TraceCheckUtils]: 29: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,981 INFO L290 TraceCheckUtils]: 28: Hoare triple {1883#(= 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; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,982 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,982 INFO L290 TraceCheckUtils]: 26: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,982 INFO L290 TraceCheckUtils]: 25: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,982 INFO L290 TraceCheckUtils]: 24: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,982 INFO L272 TraceCheckUtils]: 23: Hoare triple {1883#(= 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)); {1733#true} is VALID [2022-04-08 10:46:00,983 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,983 INFO L290 TraceCheckUtils]: 21: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,983 INFO L290 TraceCheckUtils]: 20: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,983 INFO L290 TraceCheckUtils]: 19: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,983 INFO L272 TraceCheckUtils]: 18: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,984 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1733#true} {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #80#return; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,984 INFO L272 TraceCheckUtils]: 13: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,985 INFO L290 TraceCheckUtils]: 12: Hoare triple {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,985 INFO L290 TraceCheckUtils]: 11: Hoare triple {1733#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1883#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:00,985 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1733#true} {1733#true} #78#return; {1733#true} is VALID [2022-04-08 10:46:00,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,985 INFO L290 TraceCheckUtils]: 8: Hoare triple {1733#true} assume !(0 == ~cond); {1733#true} is VALID [2022-04-08 10:46:00,985 INFO L290 TraceCheckUtils]: 7: Hoare triple {1733#true} ~cond := #in~cond; {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L272 TraceCheckUtils]: 6: Hoare triple {1733#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {1733#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L272 TraceCheckUtils]: 4: Hoare triple {1733#true} call #t~ret6 := main(); {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1733#true} {1733#true} #94#return; {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {1733#true} assume true; {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {1733#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L272 TraceCheckUtils]: 0: Hoare triple {1733#true} call ULTIMATE.init(); {1733#true} is VALID [2022-04-08 10:46:00,986 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 10:46:00,987 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:46:00,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1908024465] [2022-04-08 10:46:00,987 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:46:00,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [597153012] [2022-04-08 10:46:00,987 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [597153012] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 10:46:00,987 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 10:46:00,987 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-08 10:46:00,987 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:46:00,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1905414250] [2022-04-08 10:46:00,987 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1905414250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:46:00,987 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:46:00,988 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 10:46:00,988 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [387410095] [2022-04-08 10:46:00,988 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:46:00,988 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 10:46:00,988 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:46:00,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:46:01,008 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:01,008 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 10:46:01,008 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:01,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 10:46:01,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 10:46:01,009 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:46:01,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:01,391 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-08 10:46:01,392 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 10:46:01,392 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-08 10:46:01,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:46:01,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:46:01,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 10:46:01,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:46:01,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 10:46:01,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 10:46:01,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:01,437 INFO L225 Difference]: With dead ends: 69 [2022-04-08 10:46:01,437 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 10:46:01,438 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:46:01,438 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 111 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-08 10:46:01,439 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 111 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 10:46:01,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 10:46:01,483 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-08 10:46:01,483 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:46:01,484 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 10:46:01,484 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 10:46:01,484 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 10:46:01,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:01,486 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 10:46:01,486 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 10:46:01,487 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:01,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:01,487 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 10:46:01,487 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-08 10:46:01,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:01,489 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-08 10:46:01,489 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-08 10:46:01,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:01,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:01,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:46:01,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:46:01,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 10:46:01,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-08 10:46:01,492 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-08 10:46:01,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:46:01,492 INFO L478 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-08 10:46:01,492 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 10:46:01,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 77 transitions. [2022-04-08 10:46:01,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:01,580 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 10:46:01,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-08 10:46:01,581 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:46:01,581 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:46:01,600 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 10:46:01,781 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:01,782 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:46:01,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:46:01,782 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-08 10:46:01,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:01,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2135566308] [2022-04-08 10:46:08,444 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:46:08,444 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:46:08,444 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 2 times [2022-04-08 10:46:08,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:46:08,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625689955] [2022-04-08 10:46:08,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:46:08,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:46:08,474 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:46:08,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1644183149] [2022-04-08 10:46:08,474 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:46:08,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:08,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:46:08,482 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:46:08,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 10:46:08,526 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:46:08,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:46:08,531 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 10:46:08,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:46:08,547 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:46:12,849 INFO L272 TraceCheckUtils]: 0: Hoare triple {2408#true} call ULTIMATE.init(); {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {2408#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); {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L290 TraceCheckUtils]: 2: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2408#true} {2408#true} #94#return; {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L272 TraceCheckUtils]: 4: Hoare triple {2408#true} call #t~ret6 := main(); {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {2408#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; {2408#true} is VALID [2022-04-08 10:46:12,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {2408#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,850 INFO L290 TraceCheckUtils]: 9: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2408#true} {2408#true} #78#return; {2408#true} is VALID [2022-04-08 10:46:12,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {2408#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,852 INFO L272 TraceCheckUtils]: 13: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 10:46:12,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,852 INFO L290 TraceCheckUtils]: 16: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,858 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2408#true} {2446#(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))} #80#return; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,858 INFO L272 TraceCheckUtils]: 18: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 10:46:12,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,861 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2408#true} {2446#(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; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,861 INFO L272 TraceCheckUtils]: 23: Hoare triple {2446#(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)); {2408#true} is VALID [2022-04-08 10:46:12,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,862 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2408#true} {2446#(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; {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,864 INFO L290 TraceCheckUtils]: 28: Hoare triple {2446#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,864 INFO L272 TraceCheckUtils]: 30: Hoare triple {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,865 INFO L290 TraceCheckUtils]: 32: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,865 INFO L290 TraceCheckUtils]: 33: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,865 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2408#true} {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #80#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,865 INFO L272 TraceCheckUtils]: 35: Hoare triple {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,865 INFO L290 TraceCheckUtils]: 36: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,866 INFO L290 TraceCheckUtils]: 37: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,866 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2408#true} {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,866 INFO L272 TraceCheckUtils]: 40: Hoare triple {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,866 INFO L290 TraceCheckUtils]: 41: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,867 INFO L290 TraceCheckUtils]: 42: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,867 INFO L290 TraceCheckUtils]: 43: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,868 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2408#true} {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,869 INFO L290 TraceCheckUtils]: 45: Hoare triple {2498#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,870 INFO L290 TraceCheckUtils]: 46: Hoare triple {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,870 INFO L272 TraceCheckUtils]: 47: Hoare triple {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,870 INFO L290 TraceCheckUtils]: 48: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,870 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,870 INFO L290 TraceCheckUtils]: 50: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,871 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2408#true} {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,871 INFO L272 TraceCheckUtils]: 52: Hoare triple {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:12,871 INFO L290 TraceCheckUtils]: 53: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:12,871 INFO L290 TraceCheckUtils]: 54: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:12,871 INFO L290 TraceCheckUtils]: 55: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:12,872 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2408#true} {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #88#return; {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:12,873 INFO L290 TraceCheckUtils]: 57: Hoare triple {2550#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2587#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:12,874 INFO L290 TraceCheckUtils]: 58: Hoare triple {2587#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 10:46:12,875 INFO L290 TraceCheckUtils]: 59: Hoare triple {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-08 10:46:12,876 INFO L272 TraceCheckUtils]: 60: Hoare triple {2591#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:12,876 INFO L290 TraceCheckUtils]: 61: Hoare triple {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:12,876 INFO L290 TraceCheckUtils]: 62: Hoare triple {2602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2409#false} is VALID [2022-04-08 10:46:12,876 INFO L290 TraceCheckUtils]: 63: Hoare triple {2409#false} assume !false; {2409#false} is VALID [2022-04-08 10:46:12,877 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 10:46:12,877 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:46:18,735 INFO L290 TraceCheckUtils]: 63: Hoare triple {2409#false} assume !false; {2409#false} is VALID [2022-04-08 10:46:18,736 INFO L290 TraceCheckUtils]: 62: Hoare triple {2602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2409#false} is VALID [2022-04-08 10:46:18,736 INFO L290 TraceCheckUtils]: 61: Hoare triple {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:18,737 INFO L272 TraceCheckUtils]: 60: Hoare triple {2618#(= (+ 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)); {2598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:18,737 INFO L290 TraceCheckUtils]: 59: Hoare triple {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 10:46:18,739 INFO L290 TraceCheckUtils]: 58: Hoare triple {2625#(= (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; {2618#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 10:46:18,749 INFO L290 TraceCheckUtils]: 57: Hoare triple {2629#(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); {2625#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-08 10:46:18,750 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2408#true} {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:46:18,750 INFO L290 TraceCheckUtils]: 55: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,750 INFO L290 TraceCheckUtils]: 54: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,750 INFO L290 TraceCheckUtils]: 53: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,750 INFO L272 TraceCheckUtils]: 52: Hoare triple {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,751 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2408#true} {2629#(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)))))} #86#return; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:46:18,751 INFO L290 TraceCheckUtils]: 50: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,751 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,751 INFO L290 TraceCheckUtils]: 48: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,751 INFO L272 TraceCheckUtils]: 47: Hoare triple {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,753 INFO L290 TraceCheckUtils]: 46: Hoare triple {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:46:18,754 INFO L290 TraceCheckUtils]: 45: Hoare triple {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {2629#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:46:18,754 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2408#true} {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #84#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:18,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,755 INFO L272 TraceCheckUtils]: 40: Hoare triple {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,756 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2408#true} {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #82#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:18,756 INFO L290 TraceCheckUtils]: 38: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,756 INFO L272 TraceCheckUtils]: 35: Hoare triple {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,756 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2408#true} {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #80#return; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:18,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,757 INFO L272 TraceCheckUtils]: 30: Hoare triple {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:18,762 INFO L290 TraceCheckUtils]: 28: Hoare triple {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2666#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:18,762 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2408#true} {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #84#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 10:46:18,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,763 INFO L290 TraceCheckUtils]: 24: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,763 INFO L272 TraceCheckUtils]: 23: Hoare triple {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,763 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2408#true} {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #82#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 10:46:18,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,764 INFO L272 TraceCheckUtils]: 18: Hoare triple {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,764 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2408#true} {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #80#return; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 10:46:18,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,765 INFO L272 TraceCheckUtils]: 13: Hoare triple {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,765 INFO L290 TraceCheckUtils]: 12: Hoare triple {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 10:46:18,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {2408#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2718#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-08 10:46:18,767 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2408#true} {2408#true} #78#return; {2408#true} is VALID [2022-04-08 10:46:18,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {2408#true} assume !(0 == ~cond); {2408#true} is VALID [2022-04-08 10:46:18,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {2408#true} ~cond := #in~cond; {2408#true} is VALID [2022-04-08 10:46:18,767 INFO L272 TraceCheckUtils]: 6: Hoare triple {2408#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2408#true} is VALID [2022-04-08 10:46:18,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {2408#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; {2408#true} is VALID [2022-04-08 10:46:18,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {2408#true} call #t~ret6 := main(); {2408#true} is VALID [2022-04-08 10:46:18,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2408#true} {2408#true} #94#return; {2408#true} is VALID [2022-04-08 10:46:18,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {2408#true} assume true; {2408#true} is VALID [2022-04-08 10:46:18,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {2408#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); {2408#true} is VALID [2022-04-08 10:46:18,768 INFO L272 TraceCheckUtils]: 0: Hoare triple {2408#true} call ULTIMATE.init(); {2408#true} is VALID [2022-04-08 10:46:18,769 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 10:46:18,769 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:46:18,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625689955] [2022-04-08 10:46:18,769 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:46:18,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1644183149] [2022-04-08 10:46:18,769 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1644183149] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:46:18,769 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:46:18,769 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 10:46:18,770 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:46:18,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2135566308] [2022-04-08 10:46:18,770 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2135566308] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:46:18,770 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:46:18,770 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 10:46:18,770 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1373959739] [2022-04-08 10:46:18,770 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:46:18,770 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 64 [2022-04-08 10:46:18,772 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:46:18,772 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:46:18,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:18,815 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 10:46:18,816 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:18,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 10:46:18,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 10:46:18,816 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:46:19,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:19,728 INFO L93 Difference]: Finished difference Result 124 states and 154 transitions. [2022-04-08 10:46:19,728 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 10:46:19,729 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 64 [2022-04-08 10:46:19,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:46:19,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:46:19,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 10:46:19,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:46:19,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 10:46:19,732 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 10:46:19,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:19,827 INFO L225 Difference]: With dead ends: 124 [2022-04-08 10:46:19,827 INFO L226 Difference]: Without dead ends: 101 [2022-04-08 10:46:19,828 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:46:19,828 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 208 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 208 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:46:19,828 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 186 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 208 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 10:46:19,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-08 10:46:19,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 99. [2022-04-08 10:46:19,882 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:46:19,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:19,882 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:19,883 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:19,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:19,886 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 10:46:19,886 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 10:46:19,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:19,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:19,886 INFO L74 IsIncluded]: Start isIncluded. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 10:46:19,887 INFO L87 Difference]: Start difference. First operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 101 states. [2022-04-08 10:46:19,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:19,890 INFO L93 Difference]: Finished difference Result 101 states and 120 transitions. [2022-04-08 10:46:19,890 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 120 transitions. [2022-04-08 10:46:19,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:19,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:19,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:46:19,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:46:19,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 60 states have (on average 1.15) internal successors, (69), 63 states have internal predecessors, (69), 25 states have call successors, (25), 14 states have call predecessors, (25), 13 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:19,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 117 transitions. [2022-04-08 10:46:19,893 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 117 transitions. Word has length 64 [2022-04-08 10:46:19,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:46:19,893 INFO L478 AbstractCegarLoop]: Abstraction has 99 states and 117 transitions. [2022-04-08 10:46:19,894 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.3333333333333335) internal successors, (21), 8 states have internal predecessors, (21), 5 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:46:19,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 99 states and 117 transitions. [2022-04-08 10:46:20,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:20,072 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 117 transitions. [2022-04-08 10:46:20,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 10:46:20,073 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:46:20,073 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:46:20,089 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 10:46:20,275 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:20,275 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:46:20,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:46:20,276 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 3 times [2022-04-08 10:46:20,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:20,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [274965245] [2022-04-08 10:46:29,766 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:46:29,766 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:46:29,766 INFO L85 PathProgramCache]: Analyzing trace with hash -262609796, now seen corresponding path program 4 times [2022-04-08 10:46:29,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:46:29,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [381067262] [2022-04-08 10:46:29,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:46:29,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:46:29,781 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:46:29,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1022898801] [2022-04-08 10:46:29,782 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:46:29,782 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:29,782 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:46:29,783 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:46:29,785 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 10:46:29,866 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:46:29,867 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:46:29,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 10:46:29,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:46:29,888 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:46:30,842 INFO L272 TraceCheckUtils]: 0: Hoare triple {3455#true} call ULTIMATE.init(); {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {3455#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); {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3455#true} {3455#true} #94#return; {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#true} call #t~ret6 := main(); {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 5: Hoare triple {3455#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; {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L272 TraceCheckUtils]: 6: Hoare triple {3455#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 7: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L290 TraceCheckUtils]: 9: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,843 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3455#true} {3455#true} #78#return; {3455#true} is VALID [2022-04-08 10:46:30,844 INFO L290 TraceCheckUtils]: 11: Hoare triple {3455#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,844 INFO L290 TraceCheckUtils]: 12: Hoare triple {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,845 INFO L272 TraceCheckUtils]: 13: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 10:46:30,845 INFO L290 TraceCheckUtils]: 14: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,845 INFO L290 TraceCheckUtils]: 15: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,845 INFO L290 TraceCheckUtils]: 16: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,845 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3455#true} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #80#return; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,845 INFO L272 TraceCheckUtils]: 18: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 10:46:30,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,846 INFO L290 TraceCheckUtils]: 21: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,846 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3455#true} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,846 INFO L272 TraceCheckUtils]: 23: Hoare triple {3493#(and (<= 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)); {3455#true} is VALID [2022-04-08 10:46:30,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {3455#true} ~cond := #in~cond; {3533#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:30,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {3533#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:46:30,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:46:30,848 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} {3493#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {3544#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {3544#(and (= main_~d~0 (* main_~p~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; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:30,850 INFO L290 TraceCheckUtils]: 29: Hoare triple {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:30,850 INFO L272 TraceCheckUtils]: 30: Hoare triple {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,850 INFO L290 TraceCheckUtils]: 32: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,850 INFO L290 TraceCheckUtils]: 33: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,851 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3455#true} {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #80#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:30,851 INFO L272 TraceCheckUtils]: 35: Hoare triple {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,851 INFO L290 TraceCheckUtils]: 36: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,852 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3455#true} {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:30,852 INFO L272 TraceCheckUtils]: 40: Hoare triple {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,852 INFO L290 TraceCheckUtils]: 41: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,852 INFO L290 TraceCheckUtils]: 42: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,852 INFO L290 TraceCheckUtils]: 43: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,852 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3455#true} {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-08 10:46:30,853 INFO L290 TraceCheckUtils]: 45: Hoare triple {3548#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 10:46:30,854 INFO L290 TraceCheckUtils]: 46: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 10:46:30,854 INFO L272 TraceCheckUtils]: 47: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (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)); {3455#true} is VALID [2022-04-08 10:46:30,854 INFO L290 TraceCheckUtils]: 48: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,854 INFO L290 TraceCheckUtils]: 49: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,854 INFO L290 TraceCheckUtils]: 50: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,855 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3455#true} {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} #86#return; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 10:46:30,855 INFO L272 TraceCheckUtils]: 52: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,855 INFO L290 TraceCheckUtils]: 53: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,855 INFO L290 TraceCheckUtils]: 54: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,855 INFO L290 TraceCheckUtils]: 55: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,856 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3455#true} {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-08 10:46:30,857 INFO L290 TraceCheckUtils]: 57: Hoare triple {3600#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (< (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); {3637#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,858 INFO L290 TraceCheckUtils]: 58: Hoare triple {3637#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,858 INFO L290 TraceCheckUtils]: 59: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,858 INFO L272 TraceCheckUtils]: 60: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:30,858 INFO L290 TraceCheckUtils]: 61: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:30,858 INFO L290 TraceCheckUtils]: 62: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:30,858 INFO L290 TraceCheckUtils]: 63: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:30,859 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3455#true} {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:46:30,859 INFO L272 TraceCheckUtils]: 65: Hoare triple {3641#(and (= main_~d~0 (mod main_~B~0 4294967296)) (< 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)); {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:30,860 INFO L290 TraceCheckUtils]: 66: Hoare triple {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:30,860 INFO L290 TraceCheckUtils]: 67: Hoare triple {3667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3456#false} is VALID [2022-04-08 10:46:30,860 INFO L290 TraceCheckUtils]: 68: Hoare triple {3456#false} assume !false; {3456#false} is VALID [2022-04-08 10:46:30,861 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 23 proven. 27 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 10:46:30,861 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:46:57,477 INFO L290 TraceCheckUtils]: 68: Hoare triple {3456#false} assume !false; {3456#false} is VALID [2022-04-08 10:46:57,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {3667#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3456#false} is VALID [2022-04-08 10:46:57,478 INFO L290 TraceCheckUtils]: 66: Hoare triple {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3667#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:46:57,479 INFO L272 TraceCheckUtils]: 65: Hoare triple {3683#(= 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)); {3663#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:46:57,479 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3455#true} {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:57,479 INFO L290 TraceCheckUtils]: 63: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,479 INFO L290 TraceCheckUtils]: 62: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,479 INFO L272 TraceCheckUtils]: 60: Hoare triple {3683#(= 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)); {3455#true} is VALID [2022-04-08 10:46:57,480 INFO L290 TraceCheckUtils]: 59: Hoare triple {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:57,480 INFO L290 TraceCheckUtils]: 58: Hoare triple {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:57,492 INFO L290 TraceCheckUtils]: 57: Hoare triple {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3683#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:46:57,492 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3455#true} {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:46:57,492 INFO L290 TraceCheckUtils]: 55: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,492 INFO L290 TraceCheckUtils]: 54: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,493 INFO L290 TraceCheckUtils]: 53: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,493 INFO L272 TraceCheckUtils]: 52: Hoare triple {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,493 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3455#true} {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #86#return; {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:46:57,493 INFO L290 TraceCheckUtils]: 50: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,493 INFO L290 TraceCheckUtils]: 49: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,494 INFO L290 TraceCheckUtils]: 48: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,494 INFO L272 TraceCheckUtils]: 47: Hoare triple {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,495 INFO L290 TraceCheckUtils]: 46: Hoare triple {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:46:57,496 INFO L290 TraceCheckUtils]: 45: Hoare triple {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3708#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:46:57,497 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3455#true} {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #84#return; {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:57,497 INFO L290 TraceCheckUtils]: 43: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,497 INFO L290 TraceCheckUtils]: 42: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,497 INFO L290 TraceCheckUtils]: 41: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,497 INFO L272 TraceCheckUtils]: 40: Hoare triple {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,497 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3455#true} {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #82#return; {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:57,498 INFO L290 TraceCheckUtils]: 38: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,498 INFO L290 TraceCheckUtils]: 37: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,498 INFO L272 TraceCheckUtils]: 35: Hoare triple {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,498 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3455#true} {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #80#return; {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:57,498 INFO L290 TraceCheckUtils]: 33: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,499 INFO L290 TraceCheckUtils]: 31: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,499 INFO L272 TraceCheckUtils]: 30: Hoare triple {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:57,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {3797#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3745#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:46:57,505 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} {3455#true} #84#return; {3797#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:46:57,505 INFO L290 TraceCheckUtils]: 26: Hoare triple {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:46:57,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {3810#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3537#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 24: Hoare triple {3455#true} ~cond := #in~cond; {3810#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:46:57,506 INFO L272 TraceCheckUtils]: 23: Hoare triple {3455#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3455#true} {3455#true} #82#return; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 21: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 20: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L272 TraceCheckUtils]: 18: Hoare triple {3455#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3455#true} {3455#true} #80#return; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 16: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,506 INFO L272 TraceCheckUtils]: 13: Hoare triple {3455#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {3455#true} assume !false; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {3455#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3455#true} {3455#true} #78#return; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 9: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 8: Hoare triple {3455#true} assume !(0 == ~cond); {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 7: Hoare triple {3455#true} ~cond := #in~cond; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L272 TraceCheckUtils]: 6: Hoare triple {3455#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 5: Hoare triple {3455#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; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L272 TraceCheckUtils]: 4: Hoare triple {3455#true} call #t~ret6 := main(); {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3455#true} {3455#true} #94#return; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {3455#true} assume true; {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {3455#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); {3455#true} is VALID [2022-04-08 10:46:57,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {3455#true} call ULTIMATE.init(); {3455#true} is VALID [2022-04-08 10:46:57,508 INFO L134 CoverageAnalysis]: Checked inductivity of 170 backedges. 27 proven. 23 refuted. 0 times theorem prover too weak. 120 trivial. 0 not checked. [2022-04-08 10:46:57,508 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:46:57,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [381067262] [2022-04-08 10:46:57,508 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:46:57,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1022898801] [2022-04-08 10:46:57,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1022898801] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:46:57,508 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:46:57,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 10:46:57,509 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:46:57,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [274965245] [2022-04-08 10:46:57,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [274965245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:46:57,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:46:57,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 10:46:57,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [654063235] [2022-04-08 10:46:57,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:46:57,509 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 10:46:57,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:46:57,510 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 10:46:57,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:57,554 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 10:46:57,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:57,555 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 10:46:57,555 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 10:46:57,555 INFO L87 Difference]: Start difference. First operand 99 states and 117 transitions. Second operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 10:46:59,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:59,034 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2022-04-08 10:46:59,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 10:46:59,035 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) Word has length 69 [2022-04-08 10:46:59,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:46:59,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 10:46:59,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-08 10:46:59,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 10:46:59,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2022-04-08 10:46:59,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2022-04-08 10:46:59,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:59,134 INFO L225 Difference]: With dead ends: 126 [2022-04-08 10:46:59,135 INFO L226 Difference]: Without dead ends: 103 [2022-04-08 10:46:59,135 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 121 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=76, Invalid=304, Unknown=0, NotChecked=0, Total=380 [2022-04-08 10:46:59,135 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 15 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 372 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 10:46:59,136 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 181 Invalid, 372 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 10:46:59,136 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-08 10:46:59,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-08 10:46:59,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:46:59,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:59,214 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:59,215 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:59,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:59,217 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 10:46:59,217 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 10:46:59,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:59,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:59,218 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 10:46:59,218 INFO L87 Difference]: Start difference. First operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 103 states. [2022-04-08 10:46:59,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:46:59,221 INFO L93 Difference]: Finished difference Result 103 states and 118 transitions. [2022-04-08 10:46:59,221 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 10:46:59,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:46:59,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:46:59,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:46:59,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:46:59,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 62 states have (on average 1.1129032258064515) internal successors, (69), 66 states have internal predecessors, (69), 26 states have call successors, (26), 15 states have call predecessors, (26), 14 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 10:46:59,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 118 transitions. [2022-04-08 10:46:59,225 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 118 transitions. Word has length 69 [2022-04-08 10:46:59,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:46:59,225 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 118 transitions. [2022-04-08 10:46:59,225 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 10:46:59,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 118 transitions. [2022-04-08 10:46:59,382 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:46:59,383 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 118 transitions. [2022-04-08 10:46:59,383 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 10:46:59,383 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:46:59,383 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:46:59,400 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 10:46:59,584 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:46:59,584 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:46:59,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:46:59,585 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-08 10:46:59,585 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:46:59,585 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [464231400] [2022-04-08 10:47:06,216 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:47:06,216 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:47:06,216 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 2 times [2022-04-08 10:47:06,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:47:06,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [570988656] [2022-04-08 10:47:06,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:47:06,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:47:06,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:47:06,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1061190742] [2022-04-08 10:47:06,238 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:47:06,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:47:06,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:47:06,244 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:47:06,245 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 10:47:06,309 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:47:06,310 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:47:06,311 INFO L263 TraceCheckSpWp]: Trace formula consists of 181 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 10:47:06,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:47:06,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:47:06,596 INFO L272 TraceCheckUtils]: 0: Hoare triple {4555#true} call ULTIMATE.init(); {4555#true} is VALID [2022-04-08 10:47:06,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {4555#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); {4555#true} is VALID [2022-04-08 10:47:06,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4555#true} {4555#true} #94#return; {4555#true} is VALID [2022-04-08 10:47:06,597 INFO L272 TraceCheckUtils]: 4: Hoare triple {4555#true} call #t~ret6 := main(); {4555#true} is VALID [2022-04-08 10:47:06,597 INFO L290 TraceCheckUtils]: 5: Hoare triple {4555#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; {4555#true} is VALID [2022-04-08 10:47:06,599 INFO L272 TraceCheckUtils]: 6: Hoare triple {4555#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,599 INFO L290 TraceCheckUtils]: 7: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,599 INFO L290 TraceCheckUtils]: 8: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,599 INFO L290 TraceCheckUtils]: 9: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,599 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4555#true} {4555#true} #78#return; {4555#true} is VALID [2022-04-08 10:47:06,600 INFO L290 TraceCheckUtils]: 11: Hoare triple {4555#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,600 INFO L290 TraceCheckUtils]: 12: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,601 INFO L272 TraceCheckUtils]: 13: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,601 INFO L290 TraceCheckUtils]: 16: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,605 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,606 INFO L272 TraceCheckUtils]: 18: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,606 INFO L290 TraceCheckUtils]: 19: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,606 INFO L290 TraceCheckUtils]: 20: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,606 INFO L290 TraceCheckUtils]: 21: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,607 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,607 INFO L272 TraceCheckUtils]: 23: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,607 INFO L290 TraceCheckUtils]: 25: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,607 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,608 INFO L290 TraceCheckUtils]: 28: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,608 INFO L290 TraceCheckUtils]: 29: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,608 INFO L272 TraceCheckUtils]: 30: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,609 INFO L290 TraceCheckUtils]: 33: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,609 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,609 INFO L272 TraceCheckUtils]: 35: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,609 INFO L290 TraceCheckUtils]: 36: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,609 INFO L290 TraceCheckUtils]: 37: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,610 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,610 INFO L272 TraceCheckUtils]: 40: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,610 INFO L290 TraceCheckUtils]: 41: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,611 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,611 INFO L290 TraceCheckUtils]: 45: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,611 INFO L290 TraceCheckUtils]: 46: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,611 INFO L272 TraceCheckUtils]: 47: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 48: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 49: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,612 INFO L272 TraceCheckUtils]: 52: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 54: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,612 INFO L290 TraceCheckUtils]: 55: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,613 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #88#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,614 INFO L290 TraceCheckUtils]: 57: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:06,614 INFO L290 TraceCheckUtils]: 58: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:47:06,615 INFO L290 TraceCheckUtils]: 59: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:47:06,615 INFO L272 TraceCheckUtils]: 60: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,615 INFO L290 TraceCheckUtils]: 61: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,615 INFO L290 TraceCheckUtils]: 62: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,615 INFO L290 TraceCheckUtils]: 63: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,616 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4555#true} {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #86#return; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:47:06,616 INFO L272 TraceCheckUtils]: 65: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:06,616 INFO L290 TraceCheckUtils]: 66: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:06,616 INFO L290 TraceCheckUtils]: 67: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:06,616 INFO L290 TraceCheckUtils]: 68: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:06,617 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4555#true} {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #88#return; {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:47:06,617 INFO L290 TraceCheckUtils]: 70: Hoare triple {4735#(and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4772#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-08 10:47:06,618 INFO L272 TraceCheckUtils]: 71: Hoare triple {4772#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:47:06,618 INFO L290 TraceCheckUtils]: 72: Hoare triple {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:47:06,619 INFO L290 TraceCheckUtils]: 73: Hoare triple {4780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4556#false} is VALID [2022-04-08 10:47:06,619 INFO L290 TraceCheckUtils]: 74: Hoare triple {4556#false} assume !false; {4556#false} is VALID [2022-04-08 10:47:06,619 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-08 10:47:06,619 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:47:26,991 INFO L290 TraceCheckUtils]: 74: Hoare triple {4556#false} assume !false; {4556#false} is VALID [2022-04-08 10:47:26,992 INFO L290 TraceCheckUtils]: 73: Hoare triple {4780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4556#false} is VALID [2022-04-08 10:47:26,992 INFO L290 TraceCheckUtils]: 72: Hoare triple {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:47:26,993 INFO L272 TraceCheckUtils]: 71: Hoare triple {4796#(= (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)); {4776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:47:26,993 INFO L290 TraceCheckUtils]: 70: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4796#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-08 10:47:26,994 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {4555#true} {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #88#return; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 10:47:26,994 INFO L290 TraceCheckUtils]: 68: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:26,994 INFO L290 TraceCheckUtils]: 67: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:26,994 INFO L290 TraceCheckUtils]: 66: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:26,994 INFO L272 TraceCheckUtils]: 65: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:26,995 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {4555#true} {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #86#return; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 10:47:26,995 INFO L290 TraceCheckUtils]: 63: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:26,995 INFO L290 TraceCheckUtils]: 62: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:26,995 INFO L290 TraceCheckUtils]: 61: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:26,995 INFO L272 TraceCheckUtils]: 60: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:26,995 INFO L290 TraceCheckUtils]: 59: Hoare triple {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 10:47:26,996 INFO L290 TraceCheckUtils]: 58: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4800#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-08 10:47:26,997 INFO L290 TraceCheckUtils]: 57: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:26,997 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #88#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:26,997 INFO L290 TraceCheckUtils]: 55: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:26,997 INFO L290 TraceCheckUtils]: 54: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L290 TraceCheckUtils]: 53: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L272 TraceCheckUtils]: 52: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #86#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:26,998 INFO L290 TraceCheckUtils]: 50: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L290 TraceCheckUtils]: 49: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L290 TraceCheckUtils]: 48: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:26,998 INFO L272 TraceCheckUtils]: 47: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:26,999 INFO L290 TraceCheckUtils]: 46: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:26,999 INFO L290 TraceCheckUtils]: 45: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:26,999 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 43: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 42: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 41: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L272 TraceCheckUtils]: 40: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 38: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 37: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,000 INFO L290 TraceCheckUtils]: 36: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,001 INFO L272 TraceCheckUtils]: 35: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,001 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,001 INFO L290 TraceCheckUtils]: 33: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,001 INFO L290 TraceCheckUtils]: 32: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,001 INFO L290 TraceCheckUtils]: 31: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,001 INFO L272 TraceCheckUtils]: 30: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,002 INFO L290 TraceCheckUtils]: 29: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,002 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,003 INFO L272 TraceCheckUtils]: 23: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,019 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,020 INFO L290 TraceCheckUtils]: 21: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,020 INFO L290 TraceCheckUtils]: 20: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,020 INFO L272 TraceCheckUtils]: 18: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,020 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4555#true} {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,020 INFO L290 TraceCheckUtils]: 16: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,020 INFO L290 TraceCheckUtils]: 15: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,021 INFO L290 TraceCheckUtils]: 14: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,021 INFO L272 TraceCheckUtils]: 13: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,021 INFO L290 TraceCheckUtils]: 12: Hoare triple {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,021 INFO L290 TraceCheckUtils]: 11: Hoare triple {4555#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4593#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:47:27,021 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4555#true} {4555#true} #78#return; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 9: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {4555#true} assume !(0 == ~cond); {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {4555#true} ~cond := #in~cond; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {4555#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {4555#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; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {4555#true} call #t~ret6 := main(); {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4555#true} {4555#true} #94#return; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {4555#true} assume true; {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {4555#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); {4555#true} is VALID [2022-04-08 10:47:27,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {4555#true} call ULTIMATE.init(); {4555#true} is VALID [2022-04-08 10:47:27,023 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-08 10:47:27,023 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:47:27,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [570988656] [2022-04-08 10:47:27,023 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:47:27,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1061190742] [2022-04-08 10:47:27,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1061190742] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:47:27,023 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:47:27,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 10:47:27,023 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:47:27,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [464231400] [2022-04-08 10:47:27,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [464231400] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:47:27,024 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:47:27,024 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 10:47:27,024 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [452056043] [2022-04-08 10:47:27,024 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:47:27,024 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 75 [2022-04-08 10:47:27,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:47:27,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:47:27,063 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:47:27,063 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 10:47:27,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:47:27,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 10:47:27,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-08 10:47:27,064 INFO L87 Difference]: Start difference. First operand 103 states and 118 transitions. Second operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:47:27,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:47:27,865 INFO L93 Difference]: Finished difference Result 116 states and 134 transitions. [2022-04-08 10:47:27,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 10:47:27,865 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 75 [2022-04-08 10:47:27,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:47:27,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:47:27,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 10:47:27,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:47:27,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 10:47:27,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-08 10:47:27,930 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-08 10:47:27,932 INFO L225 Difference]: With dead ends: 116 [2022-04-08 10:47:27,932 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 10:47:27,933 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 140 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-08 10:47:27,933 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:47:27,933 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 153 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 10:47:27,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 10:47:27,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 90. [2022-04-08 10:47:27,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:47:27,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 10:47:27,973 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 10:47:27,973 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 10:47:27,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:47:27,975 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 10:47:27,975 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 10:47:27,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:47:27,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:47:27,976 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 92 states. [2022-04-08 10:47:27,976 INFO L87 Difference]: Start difference. First operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) Second operand 92 states. [2022-04-08 10:47:27,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:47:27,978 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 10:47:27,978 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 10:47:27,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:47:27,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:47:27,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:47:27,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:47:27,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 53 states have (on average 1.1320754716981132) internal successors, (60), 57 states have internal predecessors, (60), 24 states have call successors, (24), 13 states have call predecessors, (24), 12 states have return successors, (22), 19 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 10:47:27,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 106 transitions. [2022-04-08 10:47:27,983 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 106 transitions. Word has length 75 [2022-04-08 10:47:27,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:47:27,984 INFO L478 AbstractCegarLoop]: Abstraction has 90 states and 106 transitions. [2022-04-08 10:47:27,984 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 3.5) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 10:47:27,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 90 states and 106 transitions. [2022-04-08 10:47:28,109 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-08 10:47:28,110 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 106 transitions. [2022-04-08 10:47:28,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 10:47:28,110 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:47:28,110 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:47:28,127 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 10:47:28,315 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:47:28,316 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:47:28,316 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:47:28,316 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 5 times [2022-04-08 10:47:28,316 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:47:28,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [91683869] [2022-04-08 10:47:37,195 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:47:37,196 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:47:37,196 INFO L85 PathProgramCache]: Analyzing trace with hash 330473976, now seen corresponding path program 6 times [2022-04-08 10:47:37,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:47:37,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1347835515] [2022-04-08 10:47:37,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:47:37,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:47:37,204 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:47:37,204 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [366929915] [2022-04-08 10:47:37,204 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:47:37,204 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:47:37,204 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:47:37,205 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:47:37,208 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 10:47:37,249 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 10:47:37,250 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:47:37,251 INFO L263 TraceCheckSpWp]: Trace formula consists of 132 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:47:37,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:47:37,269 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:48:52,561 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 10:48:54,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {5613#true} call ULTIMATE.init(); {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {5613#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); {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5613#true} {5613#true} #94#return; {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {5613#true} call #t~ret6 := main(); {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {5613#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; {5613#true} is VALID [2022-04-08 10:48:54,888 INFO L272 TraceCheckUtils]: 6: Hoare triple {5613#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5613#true} {5613#true} #78#return; {5613#true} is VALID [2022-04-08 10:48:54,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {5613#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,891 INFO L290 TraceCheckUtils]: 12: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,892 INFO L272 TraceCheckUtils]: 13: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L290 TraceCheckUtils]: 16: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,892 INFO L272 TraceCheckUtils]: 18: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,893 INFO L290 TraceCheckUtils]: 21: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,893 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,893 INFO L272 TraceCheckUtils]: 23: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,894 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,894 INFO L290 TraceCheckUtils]: 28: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,894 INFO L290 TraceCheckUtils]: 29: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,895 INFO L272 TraceCheckUtils]: 30: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L290 TraceCheckUtils]: 33: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #80#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,895 INFO L272 TraceCheckUtils]: 35: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,895 INFO L290 TraceCheckUtils]: 37: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,896 INFO L290 TraceCheckUtils]: 38: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,896 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #82#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,896 INFO L272 TraceCheckUtils]: 40: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,896 INFO L290 TraceCheckUtils]: 41: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,896 INFO L290 TraceCheckUtils]: 42: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,896 INFO L290 TraceCheckUtils]: 43: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,897 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5613#true} {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #84#return; {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {5651#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,898 INFO L290 TraceCheckUtils]: 46: Hoare triple {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,898 INFO L272 TraceCheckUtils]: 47: Hoare triple {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,898 INFO L290 TraceCheckUtils]: 48: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,898 INFO L290 TraceCheckUtils]: 49: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,898 INFO L290 TraceCheckUtils]: 50: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,899 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5613#true} {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,899 INFO L272 TraceCheckUtils]: 52: Hoare triple {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,899 INFO L290 TraceCheckUtils]: 53: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,899 INFO L290 TraceCheckUtils]: 54: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,899 INFO L290 TraceCheckUtils]: 55: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,900 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5613#true} {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,900 INFO L272 TraceCheckUtils]: 57: Hoare triple {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,900 INFO L290 TraceCheckUtils]: 58: Hoare triple {5613#true} ~cond := #in~cond; {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:54,901 INFO L290 TraceCheckUtils]: 59: Hoare triple {5794#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:48:54,901 INFO L290 TraceCheckUtils]: 60: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:48:54,902 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5754#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,902 INFO L290 TraceCheckUtils]: 62: Hoare triple {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,903 INFO L290 TraceCheckUtils]: 63: Hoare triple {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,903 INFO L272 TraceCheckUtils]: 64: Hoare triple {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,903 INFO L290 TraceCheckUtils]: 65: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,903 INFO L290 TraceCheckUtils]: 66: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,903 INFO L290 TraceCheckUtils]: 67: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,904 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5613#true} {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,904 INFO L272 TraceCheckUtils]: 69: Hoare triple {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:48:54,904 INFO L290 TraceCheckUtils]: 70: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:48:54,904 INFO L290 TraceCheckUtils]: 71: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:48:54,904 INFO L290 TraceCheckUtils]: 72: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:48:54,905 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5613#true} {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:48:54,909 INFO L290 TraceCheckUtils]: 74: Hoare triple {5805#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5845#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 10:48:54,912 INFO L290 TraceCheckUtils]: 75: Hoare triple {5845#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:48:54,913 INFO L290 TraceCheckUtils]: 76: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:48:54,913 INFO L272 TraceCheckUtils]: 77: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:48:54,914 INFO L290 TraceCheckUtils]: 78: Hoare triple {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:48:54,914 INFO L290 TraceCheckUtils]: 79: Hoare triple {5860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5614#false} is VALID [2022-04-08 10:48:54,914 INFO L290 TraceCheckUtils]: 80: Hoare triple {5614#false} assume !false; {5614#false} is VALID [2022-04-08 10:48:54,915 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 55 proven. 9 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 10:48:54,915 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:49:42,210 WARN L232 SmtUtils]: Spent 21.11s on a formula simplification that was a NOOP. DAG size: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 10:51:05,750 INFO L290 TraceCheckUtils]: 80: Hoare triple {5614#false} assume !false; {5614#false} is VALID [2022-04-08 10:51:05,751 INFO L290 TraceCheckUtils]: 79: Hoare triple {5860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5614#false} is VALID [2022-04-08 10:51:05,751 INFO L290 TraceCheckUtils]: 78: Hoare triple {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:51:05,752 INFO L272 TraceCheckUtils]: 77: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:51:05,752 INFO L290 TraceCheckUtils]: 76: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,754 INFO L290 TraceCheckUtils]: 75: Hoare triple {5882#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,764 INFO L290 TraceCheckUtils]: 74: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< 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); {5882#(= (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) main_~d~0 (* (- 1) main_~r~0)))} is VALID [2022-04-08 10:51:05,765 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5613#true} {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #88#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:05,765 INFO L290 TraceCheckUtils]: 72: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,765 INFO L290 TraceCheckUtils]: 71: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,765 INFO L290 TraceCheckUtils]: 70: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,765 INFO L272 TraceCheckUtils]: 69: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,766 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5613#true} {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #86#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:05,766 INFO L290 TraceCheckUtils]: 67: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,766 INFO L290 TraceCheckUtils]: 66: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,766 INFO L290 TraceCheckUtils]: 65: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,766 INFO L272 TraceCheckUtils]: 64: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,767 INFO L290 TraceCheckUtils]: 63: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:05,768 INFO L290 TraceCheckUtils]: 62: Hoare triple {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:05,771 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #84#return; {5886#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:05,771 INFO L290 TraceCheckUtils]: 60: Hoare triple {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:51:05,771 INFO L290 TraceCheckUtils]: 59: Hoare triple {5936#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5798#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:51:05,772 INFO L290 TraceCheckUtils]: 58: Hoare triple {5613#true} ~cond := #in~cond; {5936#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:51:05,772 INFO L272 TraceCheckUtils]: 57: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,772 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5613#true} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #82#return; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 10:51:05,772 INFO L290 TraceCheckUtils]: 55: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,772 INFO L290 TraceCheckUtils]: 54: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L290 TraceCheckUtils]: 53: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L272 TraceCheckUtils]: 52: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5613#true} {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} #80#return; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 10:51:05,773 INFO L290 TraceCheckUtils]: 50: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L290 TraceCheckUtils]: 49: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,773 INFO L272 TraceCheckUtils]: 47: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,775 INFO L290 TraceCheckUtils]: 46: Hoare triple {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} assume !false; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 10:51:05,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5926#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (= (mod main_~p~0 2) 0)) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (or (= (mod main_~p~0 2) 0) (= (+ (mod main_~A~0 4294967296) (div main_~d~0 2) (* (- 1) main_~r~0) 1) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))))))} is VALID [2022-04-08 10:51:05,780 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,780 INFO L290 TraceCheckUtils]: 42: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,780 INFO L290 TraceCheckUtils]: 41: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,781 INFO L272 TraceCheckUtils]: 40: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,781 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,781 INFO L290 TraceCheckUtils]: 38: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,781 INFO L272 TraceCheckUtils]: 35: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,782 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #80#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,782 INFO L290 TraceCheckUtils]: 33: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,782 INFO L290 TraceCheckUtils]: 32: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,782 INFO L272 TraceCheckUtils]: 30: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,783 INFO L290 TraceCheckUtils]: 28: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,783 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #84#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,783 INFO L290 TraceCheckUtils]: 26: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,783 INFO L290 TraceCheckUtils]: 24: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,784 INFO L272 TraceCheckUtils]: 23: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,784 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #82#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,784 INFO L290 TraceCheckUtils]: 21: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,784 INFO L272 TraceCheckUtils]: 18: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,785 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5613#true} {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} #80#return; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,785 INFO L290 TraceCheckUtils]: 16: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,785 INFO L272 TraceCheckUtils]: 13: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,785 INFO L290 TraceCheckUtils]: 12: Hoare triple {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} assume !false; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 11: Hoare triple {5613#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5849#(= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (* main_~q~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:05,786 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5613#true} {5613#true} #78#return; {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 9: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 8: Hoare triple {5613#true} assume !(0 == ~cond); {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {5613#true} ~cond := #in~cond; {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L272 TraceCheckUtils]: 6: Hoare triple {5613#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {5613#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; {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {5613#true} call #t~ret6 := main(); {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5613#true} {5613#true} #94#return; {5613#true} is VALID [2022-04-08 10:51:05,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {5613#true} assume true; {5613#true} is VALID [2022-04-08 10:51:05,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {5613#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); {5613#true} is VALID [2022-04-08 10:51:05,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {5613#true} call ULTIMATE.init(); {5613#true} is VALID [2022-04-08 10:51:05,787 INFO L134 CoverageAnalysis]: Checked inductivity of 259 backedges. 45 proven. 19 refuted. 0 times theorem prover too weak. 195 trivial. 0 not checked. [2022-04-08 10:51:05,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:51:05,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1347835515] [2022-04-08 10:51:05,787 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:51:05,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [366929915] [2022-04-08 10:51:05,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [366929915] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:51:05,788 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:51:05,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 15 [2022-04-08 10:51:05,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:51:05,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [91683869] [2022-04-08 10:51:05,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [91683869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:51:05,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:51:05,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:51:05,790 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474584370] [2022-04-08 10:51:05,790 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:51:05,791 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 10:51:05,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:51:05,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:51:05,847 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:51:05,847 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:51:05,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:05,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:51:05,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:51:05,848 INFO L87 Difference]: Start difference. First operand 90 states and 106 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:51:09,569 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.47s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:12,229 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:14,240 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:19,242 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:21,255 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:23,368 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:51:25,387 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-04-08 10:51:25,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:25,392 INFO L93 Difference]: Finished difference Result 116 states and 137 transitions. [2022-04-08 10:51:25,392 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:51:25,392 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 81 [2022-04-08 10:51:25,392 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:51:25,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:51:25,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 10:51:25,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:51:25,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 87 transitions. [2022-04-08 10:51:25,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 87 transitions. [2022-04-08 10:51:25,495 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-08 10:51:25,497 INFO L225 Difference]: With dead ends: 116 [2022-04-08 10:51:25,497 INFO L226 Difference]: Without dead ends: 104 [2022-04-08 10:51:25,497 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 145 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 26.3s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2022-04-08 10:51:25,498 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 25 mSDsluCounter, 114 mSDsCounter, 0 mSdLazyCounter, 272 mSolverCounterSat, 23 mSolverCounterUnsat, 5 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 14.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 300 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 272 IncrementalHoareTripleChecker+Invalid, 5 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 14.5s IncrementalHoareTripleChecker+Time [2022-04-08 10:51:25,498 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 144 Invalid, 300 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 272 Invalid, 5 Unknown, 0 Unchecked, 14.5s Time] [2022-04-08 10:51:25,498 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-08 10:51:25,542 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 103. [2022-04-08 10:51:25,542 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:51:25,542 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 10:51:25,543 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 10:51:25,543 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 10:51:25,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:25,545 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-08 10:51:25,545 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-08 10:51:25,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:25,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:25,545 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) Second operand 104 states. [2022-04-08 10:51:25,546 INFO L87 Difference]: Start difference. First operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) Second operand 104 states. [2022-04-08 10:51:25,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:25,548 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-08 10:51:25,548 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-08 10:51:25,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:25,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:25,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:51:25,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:51:25,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 67 states have internal predecessors, (69), 28 states have call successors, (28), 14 states have call predecessors, (28), 13 states have return successors, (26), 21 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 10:51:25,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 123 transitions. [2022-04-08 10:51:25,551 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 123 transitions. Word has length 81 [2022-04-08 10:51:25,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:51:25,551 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 123 transitions. [2022-04-08 10:51:25,551 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 10:51:25,551 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 123 transitions. [2022-04-08 10:51:25,732 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:51:25,733 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 123 transitions. [2022-04-08 10:51:25,733 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 10:51:25,733 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:51:25,733 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:51:25,752 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 10:51:25,939 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:51:25,939 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:51:25,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:51:25,940 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 7 times [2022-04-08 10:51:25,940 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:25,940 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1266525507] [2022-04-08 10:51:34,493 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:51:34,493 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:51:34,493 INFO L85 PathProgramCache]: Analyzing trace with hash -454578581, now seen corresponding path program 8 times [2022-04-08 10:51:34,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:51:34,494 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1664304589] [2022-04-08 10:51:34,494 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:51:34,494 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:51:34,502 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:51:34,503 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1477476451] [2022-04-08 10:51:34,503 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 10:51:34,503 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:51:34,503 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:51:34,504 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:51:34,505 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 10:51:34,549 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 10:51:34,549 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:51:34,551 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 10:51:34,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:51:34,570 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:51:36,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {6763#true} call ULTIMATE.init(); {6763#true} is VALID [2022-04-08 10:51:36,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {6763#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); {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6763#true} {6763#true} #94#return; {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {6763#true} call #t~ret6 := main(); {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {6763#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; {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L272 TraceCheckUtils]: 6: Hoare triple {6763#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {6763#true} ~cond := #in~cond; {6789#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 10:51:36,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6793#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:51:36,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {6793#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6793#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 10:51:36,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6793#(not (= |assume_abort_if_not_#in~cond| 0))} {6763#true} #78#return; {6800#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-08 10:51:36,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {6800#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:51:36,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:51:36,234 INFO L272 TraceCheckUtils]: 13: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #80#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:51:36,235 INFO L272 TraceCheckUtils]: 18: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,236 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:51:36,236 INFO L272 TraceCheckUtils]: 23: Hoare triple {6804#(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)); {6763#true} is VALID [2022-04-08 10:51:36,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,237 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6763#true} {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {6804#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-08 10:51:36,238 INFO L290 TraceCheckUtils]: 28: Hoare triple {6804#(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; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,238 INFO L290 TraceCheckUtils]: 29: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,238 INFO L272 TraceCheckUtils]: 30: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 10:51:36,238 INFO L290 TraceCheckUtils]: 31: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,238 INFO L290 TraceCheckUtils]: 32: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,238 INFO L290 TraceCheckUtils]: 33: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,239 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #80#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,239 INFO L272 TraceCheckUtils]: 35: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 10:51:36,239 INFO L290 TraceCheckUtils]: 36: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,239 INFO L290 TraceCheckUtils]: 37: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,239 INFO L290 TraceCheckUtils]: 38: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,240 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,240 INFO L272 TraceCheckUtils]: 40: Hoare triple {6856#(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)); {6763#true} is VALID [2022-04-08 10:51:36,240 INFO L290 TraceCheckUtils]: 41: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,240 INFO L290 TraceCheckUtils]: 42: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,240 INFO L290 TraceCheckUtils]: 43: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,251 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,253 INFO L290 TraceCheckUtils]: 46: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !false; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,253 INFO L272 TraceCheckUtils]: 47: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,253 INFO L290 TraceCheckUtils]: 48: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,253 INFO L290 TraceCheckUtils]: 49: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,253 INFO L290 TraceCheckUtils]: 50: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,254 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #80#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,254 INFO L272 TraceCheckUtils]: 52: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,254 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,254 INFO L290 TraceCheckUtils]: 55: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,255 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #82#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,255 INFO L272 TraceCheckUtils]: 57: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,255 INFO L290 TraceCheckUtils]: 58: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,255 INFO L290 TraceCheckUtils]: 59: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,255 INFO L290 TraceCheckUtils]: 60: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,255 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6763#true} {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #84#return; {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,256 INFO L290 TraceCheckUtils]: 62: Hoare triple {6908#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,256 INFO L290 TraceCheckUtils]: 63: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !false; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,256 INFO L272 TraceCheckUtils]: 64: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,256 INFO L290 TraceCheckUtils]: 65: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L290 TraceCheckUtils]: 66: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L290 TraceCheckUtils]: 67: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6763#true} {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #86#return; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,257 INFO L272 TraceCheckUtils]: 69: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L290 TraceCheckUtils]: 70: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L290 TraceCheckUtils]: 71: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,257 INFO L290 TraceCheckUtils]: 72: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,258 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6763#true} {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} #88#return; {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} is VALID [2022-04-08 10:51:36,259 INFO L290 TraceCheckUtils]: 74: Hoare triple {6960#(and (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,260 INFO L290 TraceCheckUtils]: 75: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,260 INFO L290 TraceCheckUtils]: 76: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,260 INFO L272 TraceCheckUtils]: 77: Hoare triple {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= 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)); {6763#true} is VALID [2022-04-08 10:51:36,260 INFO L290 TraceCheckUtils]: 78: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:36,260 INFO L290 TraceCheckUtils]: 79: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:36,260 INFO L290 TraceCheckUtils]: 80: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:36,261 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6763#true} {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #86#return; {6856#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:36,262 INFO L272 TraceCheckUtils]: 82: Hoare triple {6856#(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)); {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:51:36,262 INFO L290 TraceCheckUtils]: 83: Hoare triple {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:51:36,262 INFO L290 TraceCheckUtils]: 84: Hoare triple {7025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6764#false} is VALID [2022-04-08 10:51:36,262 INFO L290 TraceCheckUtils]: 85: Hoare triple {6764#false} assume !false; {6764#false} is VALID [2022-04-08 10:51:36,263 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 18 refuted. 0 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-08 10:51:36,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:51:43,425 INFO L290 TraceCheckUtils]: 85: Hoare triple {6764#false} assume !false; {6764#false} is VALID [2022-04-08 10:51:43,426 INFO L290 TraceCheckUtils]: 84: Hoare triple {7025#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6764#false} is VALID [2022-04-08 10:51:43,427 INFO L290 TraceCheckUtils]: 83: Hoare triple {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7025#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:51:43,427 INFO L272 TraceCheckUtils]: 82: Hoare triple {7041#(= 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)); {7021#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:51:43,428 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6763#true} {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:43,428 INFO L290 TraceCheckUtils]: 80: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,428 INFO L290 TraceCheckUtils]: 79: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,428 INFO L290 TraceCheckUtils]: 78: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,428 INFO L272 TraceCheckUtils]: 77: Hoare triple {7041#(= 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)); {6763#true} is VALID [2022-04-08 10:51:43,429 INFO L290 TraceCheckUtils]: 76: Hoare triple {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:43,429 INFO L290 TraceCheckUtils]: 75: Hoare triple {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:43,447 INFO L290 TraceCheckUtils]: 74: Hoare triple {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7041#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:51:43,448 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6763#true} {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #88#return; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:43,448 INFO L290 TraceCheckUtils]: 72: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,448 INFO L290 TraceCheckUtils]: 71: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,448 INFO L290 TraceCheckUtils]: 70: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,449 INFO L272 TraceCheckUtils]: 69: Hoare triple {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,449 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6763#true} {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} #86#return; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:43,449 INFO L290 TraceCheckUtils]: 67: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,449 INFO L290 TraceCheckUtils]: 66: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,449 INFO L290 TraceCheckUtils]: 65: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,449 INFO L272 TraceCheckUtils]: 64: Hoare triple {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,450 INFO L290 TraceCheckUtils]: 63: Hoare triple {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} assume !false; {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:43,451 INFO L290 TraceCheckUtils]: 62: Hoare triple {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !(~r~0 >= ~d~0); {7066#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 10:51:43,452 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6763#true} {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #84#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 10:51:43,452 INFO L290 TraceCheckUtils]: 60: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,452 INFO L290 TraceCheckUtils]: 59: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,452 INFO L290 TraceCheckUtils]: 58: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,452 INFO L272 TraceCheckUtils]: 57: Hoare triple {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,453 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6763#true} {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #82#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 10:51:43,453 INFO L290 TraceCheckUtils]: 55: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,453 INFO L290 TraceCheckUtils]: 54: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,453 INFO L290 TraceCheckUtils]: 53: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,453 INFO L272 TraceCheckUtils]: 52: Hoare triple {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,454 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6763#true} {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} #80#return; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 10:51:43,454 INFO L290 TraceCheckUtils]: 50: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,454 INFO L290 TraceCheckUtils]: 49: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,454 INFO L290 TraceCheckUtils]: 48: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,454 INFO L272 TraceCheckUtils]: 47: Hoare triple {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,455 INFO L290 TraceCheckUtils]: 46: Hoare triple {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} assume !false; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 10:51:43,459 INFO L290 TraceCheckUtils]: 45: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7103#(or (<= main_~d~0 main_~r~0) (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)) (= (mod main_~p~0 2) 0)))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (or (not (< main_~p~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2)) (= (mod main_~p~0 2) 0))))))} is VALID [2022-04-08 10:51:43,460 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,460 INFO L290 TraceCheckUtils]: 43: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,460 INFO L290 TraceCheckUtils]: 42: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,460 INFO L290 TraceCheckUtils]: 41: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,460 INFO L272 TraceCheckUtils]: 40: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,461 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,461 INFO L290 TraceCheckUtils]: 38: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,461 INFO L272 TraceCheckUtils]: 35: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,461 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #80#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,462 INFO L290 TraceCheckUtils]: 32: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,462 INFO L290 TraceCheckUtils]: 31: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,462 INFO L272 TraceCheckUtils]: 30: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,462 INFO L290 TraceCheckUtils]: 29: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,464 INFO L290 TraceCheckUtils]: 28: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,464 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #84#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,464 INFO L290 TraceCheckUtils]: 26: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,464 INFO L290 TraceCheckUtils]: 25: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,464 INFO L290 TraceCheckUtils]: 24: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,465 INFO L272 TraceCheckUtils]: 23: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,465 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #82#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,465 INFO L290 TraceCheckUtils]: 21: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,465 INFO L290 TraceCheckUtils]: 20: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,465 INFO L290 TraceCheckUtils]: 19: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,465 INFO L272 TraceCheckUtils]: 18: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,466 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6763#true} {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #80#return; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,466 INFO L290 TraceCheckUtils]: 16: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,466 INFO L290 TraceCheckUtils]: 15: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,466 INFO L290 TraceCheckUtils]: 14: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,466 INFO L272 TraceCheckUtils]: 13: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,466 INFO L290 TraceCheckUtils]: 12: Hoare triple {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {6763#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7155#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-08 10:51:43,467 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6763#true} {6763#true} #78#return; {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {6763#true} assume !(0 == ~cond); {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {6763#true} ~cond := #in~cond; {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L272 TraceCheckUtils]: 6: Hoare triple {6763#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {6763#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; {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {6763#true} call #t~ret6 := main(); {6763#true} is VALID [2022-04-08 10:51:43,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6763#true} {6763#true} #94#return; {6763#true} is VALID [2022-04-08 10:51:43,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {6763#true} assume true; {6763#true} is VALID [2022-04-08 10:51:43,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {6763#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); {6763#true} is VALID [2022-04-08 10:51:43,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {6763#true} call ULTIMATE.init(); {6763#true} is VALID [2022-04-08 10:51:43,468 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 24 proven. 13 refuted. 0 times theorem prover too weak. 269 trivial. 0 not checked. [2022-04-08 10:51:43,468 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:51:43,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1664304589] [2022-04-08 10:51:43,468 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:51:43,468 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1477476451] [2022-04-08 10:51:43,469 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1477476451] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:51:43,469 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:51:43,469 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-08 10:51:43,469 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:51:43,469 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1266525507] [2022-04-08 10:51:43,469 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1266525507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:51:43,469 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:51:43,469 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 10:51:43,469 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [258981644] [2022-04-08 10:51:43,469 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:51:43,470 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 10:51:43,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:51:43,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 10:51:43,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:51:43,525 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 10:51:43,525 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:43,526 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 10:51:43,526 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-08 10:51:43,526 INFO L87 Difference]: Start difference. First operand 103 states and 123 transitions. Second operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 10:51:45,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:45,490 INFO L93 Difference]: Finished difference Result 191 states and 248 transitions. [2022-04-08 10:51:45,490 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:51:45,490 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 10:51:45,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:51:45,491 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 10:51:45,494 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 10:51:45,494 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 10:51:45,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 111 transitions. [2022-04-08 10:51:45,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 111 transitions. [2022-04-08 10:51:45,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:51:45,618 INFO L225 Difference]: With dead ends: 191 [2022-04-08 10:51:45,618 INFO L226 Difference]: Without dead ends: 144 [2022-04-08 10:51:45,619 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 155 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-08 10:51:45,619 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 29 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 339 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 366 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 339 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-08 10:51:45,620 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 291 Invalid, 366 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 339 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-08 10:51:45,620 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-08 10:51:45,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 144. [2022-04-08 10:51:45,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:51:45,715 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 10:51:45,715 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 10:51:45,715 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 10:51:45,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:45,718 INFO L93 Difference]: Finished difference Result 144 states and 176 transitions. [2022-04-08 10:51:45,718 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 10:51:45,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:45,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:45,719 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) Second operand 144 states. [2022-04-08 10:51:45,719 INFO L87 Difference]: Start difference. First operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) Second operand 144 states. [2022-04-08 10:51:45,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:51:45,722 INFO L93 Difference]: Finished difference Result 144 states and 176 transitions. [2022-04-08 10:51:45,722 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 10:51:45,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:51:45,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:51:45,722 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:51:45,723 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:51:45,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 85 states have (on average 1.1294117647058823) internal successors, (96), 94 states have internal predecessors, (96), 42 states have call successors, (42), 17 states have call predecessors, (42), 16 states have return successors, (38), 32 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 10:51:45,725 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 176 transitions. [2022-04-08 10:51:45,726 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 176 transitions. Word has length 86 [2022-04-08 10:51:45,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:51:45,726 INFO L478 AbstractCegarLoop]: Abstraction has 144 states and 176 transitions. [2022-04-08 10:51:45,726 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.090909090909091) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 10:51:45,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 176 transitions. [2022-04-08 10:51:45,987 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:51:45,987 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 176 transitions. [2022-04-08 10:51:45,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 10:51:45,988 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:51:45,988 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:51:46,004 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-08 10:51:46,188 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 10:51:46,188 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:51:46,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:51:46,189 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 9 times [2022-04-08 10:51:46,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:51:46,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1135086147] [2022-04-08 10:51:53,378 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:51:53,378 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:51:53,378 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 10 times [2022-04-08 10:51:53,379 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:51:53,379 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1181169995] [2022-04-08 10:51:53,379 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:51:53,379 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:51:53,388 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:51:53,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2143532701] [2022-04-08 10:51:53,388 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:51:53,388 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:51:53,388 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:51:53,390 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:51:53,428 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 10:51:53,523 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:51:53,524 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:51:53,525 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 10:51:53,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:51:53,559 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:52:27,218 INFO L272 TraceCheckUtils]: 0: Hoare triple {8255#true} call ULTIMATE.init(); {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {8255#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); {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8255#true} {8255#true} #94#return; {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {8255#true} call #t~ret6 := main(); {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {8255#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; {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {8255#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 7: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 8: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,219 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#true} {8255#true} #78#return; {8255#true} is VALID [2022-04-08 10:52:27,220 INFO L290 TraceCheckUtils]: 11: Hoare triple {8255#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8293#(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-08 10:52:27,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {8293#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8293#(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-08 10:52:27,220 INFO L272 TraceCheckUtils]: 13: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8255#true} {8293#(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))} #80#return; {8293#(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-08 10:52:27,221 INFO L272 TraceCheckUtils]: 18: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,221 INFO L290 TraceCheckUtils]: 21: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,222 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8255#true} {8293#(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; {8293#(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-08 10:52:27,222 INFO L272 TraceCheckUtils]: 23: Hoare triple {8293#(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)); {8255#true} is VALID [2022-04-08 10:52:27,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,222 INFO L290 TraceCheckUtils]: 26: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,223 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8255#true} {8293#(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; {8293#(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-08 10:52:27,225 INFO L290 TraceCheckUtils]: 28: Hoare triple {8293#(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; {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,225 INFO L290 TraceCheckUtils]: 29: Hoare triple {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !false; {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,226 INFO L272 TraceCheckUtils]: 30: Hoare triple {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,226 INFO L290 TraceCheckUtils]: 31: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,226 INFO L290 TraceCheckUtils]: 32: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,226 INFO L290 TraceCheckUtils]: 33: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,226 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8255#true} {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #80#return; {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,226 INFO L272 TraceCheckUtils]: 35: Hoare triple {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,226 INFO L290 TraceCheckUtils]: 36: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L290 TraceCheckUtils]: 37: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L290 TraceCheckUtils]: 38: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8255#true} {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,227 INFO L272 TraceCheckUtils]: 40: Hoare triple {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L290 TraceCheckUtils]: 41: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L290 TraceCheckUtils]: 42: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,227 INFO L290 TraceCheckUtils]: 43: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,228 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8255#true} {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,230 INFO L290 TraceCheckUtils]: 45: Hoare triple {8345#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,230 INFO L290 TraceCheckUtils]: 46: Hoare triple {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,230 INFO L272 TraceCheckUtils]: 47: Hoare triple {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,230 INFO L290 TraceCheckUtils]: 48: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,231 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8255#true} {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #80#return; {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,231 INFO L272 TraceCheckUtils]: 52: Hoare triple {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,231 INFO L290 TraceCheckUtils]: 53: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,231 INFO L290 TraceCheckUtils]: 54: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,231 INFO L290 TraceCheckUtils]: 55: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,232 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8255#true} {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,232 INFO L272 TraceCheckUtils]: 57: Hoare triple {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,232 INFO L290 TraceCheckUtils]: 58: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,232 INFO L290 TraceCheckUtils]: 59: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,232 INFO L290 TraceCheckUtils]: 60: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,233 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8255#true} {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,233 INFO L290 TraceCheckUtils]: 62: Hoare triple {8397#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,233 INFO L290 TraceCheckUtils]: 63: Hoare triple {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,234 INFO L272 TraceCheckUtils]: 64: Hoare triple {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L290 TraceCheckUtils]: 65: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L290 TraceCheckUtils]: 66: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L290 TraceCheckUtils]: 67: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8255#true} {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,234 INFO L272 TraceCheckUtils]: 69: Hoare triple {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L290 TraceCheckUtils]: 70: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,234 INFO L290 TraceCheckUtils]: 71: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,235 INFO L290 TraceCheckUtils]: 72: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,235 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8255#true} {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-08 10:52:27,237 INFO L290 TraceCheckUtils]: 74: Hoare triple {8449#(and (<= (div (div main_~d~0 2) 2) (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= (mod (div main_~d~0 2) 2) 0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8486#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} is VALID [2022-04-08 10:52:27,239 INFO L290 TraceCheckUtils]: 75: Hoare triple {8486#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~r~0 (* main_~d~0 2)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 10:52:27,240 INFO L290 TraceCheckUtils]: 76: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !false; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 10:52:27,240 INFO L272 TraceCheckUtils]: 77: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,240 INFO L290 TraceCheckUtils]: 78: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:52:27,241 INFO L290 TraceCheckUtils]: 79: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:52:27,241 INFO L290 TraceCheckUtils]: 80: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:52:27,241 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8255#true} {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #86#return; {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 10:52:27,241 INFO L272 TraceCheckUtils]: 82: Hoare triple {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:52:27,242 INFO L290 TraceCheckUtils]: 83: Hoare triple {8255#true} ~cond := #in~cond; {8515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:52:27,242 INFO L290 TraceCheckUtils]: 84: Hoare triple {8515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:52:27,242 INFO L290 TraceCheckUtils]: 85: Hoare triple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:52:27,243 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} {8490#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (<= (div main_~d~0 2) (mod main_~B~0 4294967296)) (= main_~p~0 2) (= (mod (div (* main_~d~0 2) 2) 2) 0) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} #88#return; {8526#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} is VALID [2022-04-08 10:52:27,245 INFO L290 TraceCheckUtils]: 87: Hoare triple {8526#(and (= main_~q~0 main_~p~0) (< (mod main_~A~0 4294967296) (* main_~d~0 2)) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< main_~d~0 (+ (mod main_~A~0 4294967296) 1)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8530#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= main_~d~0 (div (* main_~q~0 (mod main_~B~0 4294967296)) 2)) (< (* main_~q~0 (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) 1)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* 2 (* main_~q~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 10:52:27,249 INFO L290 TraceCheckUtils]: 88: Hoare triple {8530#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= main_~d~0 (div (* main_~q~0 (mod main_~B~0 4294967296)) 2)) (< (* main_~q~0 (mod main_~B~0 4294967296)) (+ (mod main_~A~0 4294967296) 1)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (< (mod main_~A~0 4294967296) (* 2 (* main_~q~0 (mod main_~B~0 4294967296)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:52:27,250 INFO L290 TraceCheckUtils]: 89: Hoare triple {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !false; {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-08 10:52:27,251 INFO L272 TraceCheckUtils]: 90: Hoare triple {8534#(and (< (mod main_~A~0 4294967296) (* (mod main_~B~0 4294967296) 4)) (= main_~q~0 3) (= (+ main_~r~0 (* 3 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* 3 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:52:27,251 INFO L290 TraceCheckUtils]: 91: Hoare triple {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:52:27,252 INFO L290 TraceCheckUtils]: 92: Hoare triple {8545#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8256#false} is VALID [2022-04-08 10:52:27,252 INFO L290 TraceCheckUtils]: 93: Hoare triple {8256#false} assume !false; {8256#false} is VALID [2022-04-08 10:52:27,252 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 61 proven. 25 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 10:52:27,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:53:05,974 WARN L232 SmtUtils]: Spent 16.31s on a formula simplification that was a NOOP. DAG size: 58 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 10:55:03,556 WARN L232 SmtUtils]: Spent 23.96s on a formula simplification that was a NOOP. DAG size: 60 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 10:56:19,912 WARN L232 SmtUtils]: Spent 43.23s on a formula simplification that was a NOOP. DAG size: 130 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-08 10:58:15,271 INFO L290 TraceCheckUtils]: 93: Hoare triple {8256#false} assume !false; {8256#false} is VALID [2022-04-08 10:58:15,272 INFO L290 TraceCheckUtils]: 92: Hoare triple {8545#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8256#false} is VALID [2022-04-08 10:58:15,272 INFO L290 TraceCheckUtils]: 91: Hoare triple {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8545#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:15,273 INFO L272 TraceCheckUtils]: 90: Hoare triple {8561#(= (+ 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)); {8541#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:58:15,273 INFO L290 TraceCheckUtils]: 89: Hoare triple {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 10:58:15,275 INFO L290 TraceCheckUtils]: 88: Hoare triple {8568#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8561#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-08 10:58:15,291 INFO L290 TraceCheckUtils]: 87: Hoare triple {8572#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8568#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0)))} is VALID [2022-04-08 10:58:15,294 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #88#return; {8572#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-08 10:58:15,295 INFO L290 TraceCheckUtils]: 85: Hoare triple {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:58:15,295 INFO L290 TraceCheckUtils]: 84: Hoare triple {8586#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:58:15,295 INFO L290 TraceCheckUtils]: 83: Hoare triple {8255#true} ~cond := #in~cond; {8586#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:58:15,296 INFO L272 TraceCheckUtils]: 82: Hoare triple {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (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)); {8255#true} is VALID [2022-04-08 10:58:15,296 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8255#true} {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #86#return; {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 10:58:15,296 INFO L290 TraceCheckUtils]: 80: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,296 INFO L290 TraceCheckUtils]: 79: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,296 INFO L290 TraceCheckUtils]: 78: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,297 INFO L272 TraceCheckUtils]: 77: Hoare triple {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (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)); {8255#true} is VALID [2022-04-08 10:58:15,298 INFO L290 TraceCheckUtils]: 76: Hoare triple {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 10:58:15,316 INFO L290 TraceCheckUtils]: 75: Hoare triple {8611#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8576#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-08 10:58:15,507 INFO L290 TraceCheckUtils]: 74: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8611#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-08 10:58:15,508 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8255#true} {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #88#return; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 10:58:15,508 INFO L290 TraceCheckUtils]: 72: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,508 INFO L290 TraceCheckUtils]: 71: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,508 INFO L290 TraceCheckUtils]: 70: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,508 INFO L272 TraceCheckUtils]: 69: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,509 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8255#true} {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #86#return; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 10:58:15,509 INFO L290 TraceCheckUtils]: 67: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,509 INFO L290 TraceCheckUtils]: 66: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,509 INFO L290 TraceCheckUtils]: 65: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,509 INFO L272 TraceCheckUtils]: 64: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,513 INFO L290 TraceCheckUtils]: 63: Hoare triple {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !false; {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 10:58:15,535 INFO L290 TraceCheckUtils]: 62: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {8615#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 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) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-08 10:58:15,536 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #84#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:58:15,536 INFO L290 TraceCheckUtils]: 60: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,536 INFO L290 TraceCheckUtils]: 58: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,536 INFO L272 TraceCheckUtils]: 57: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,537 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #82#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:58:15,537 INFO L290 TraceCheckUtils]: 55: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,537 INFO L290 TraceCheckUtils]: 53: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,537 INFO L272 TraceCheckUtils]: 52: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,538 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8255#true} {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} #80#return; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:58:15,538 INFO L290 TraceCheckUtils]: 50: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,538 INFO L290 TraceCheckUtils]: 49: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,538 INFO L290 TraceCheckUtils]: 48: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,538 INFO L272 TraceCheckUtils]: 47: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,539 INFO L290 TraceCheckUtils]: 46: Hoare triple {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:58:15,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8652#(or (and (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (< main_~d~0 0) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 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) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (not (< main_~p~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (< main_~d~0 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (= (mod main_~p~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-08 10:58:15,742 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #84#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 10:58:15,742 INFO L290 TraceCheckUtils]: 43: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,742 INFO L290 TraceCheckUtils]: 42: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,742 INFO L290 TraceCheckUtils]: 41: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,743 INFO L272 TraceCheckUtils]: 40: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,743 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #82#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 10:58:15,743 INFO L290 TraceCheckUtils]: 38: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,743 INFO L290 TraceCheckUtils]: 37: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,743 INFO L290 TraceCheckUtils]: 36: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,743 INFO L272 TraceCheckUtils]: 35: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,744 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {8255#true} {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} #80#return; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 10:58:15,744 INFO L290 TraceCheckUtils]: 33: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:15,744 INFO L290 TraceCheckUtils]: 32: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:15,744 INFO L290 TraceCheckUtils]: 31: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:15,744 INFO L272 TraceCheckUtils]: 30: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:15,745 INFO L290 TraceCheckUtils]: 29: Hoare triple {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} assume !false; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 10:58:16,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8704#(or (not (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296)) 2)) (* (- 1) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))) main_~r~0 (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (div (div (* main_~p~0 2) 2) 2) main_~q~0)))) (not (<= (+ (* main_~p~0 (mod main_~B~0 4294967296)) (div (* main_~p~0 (mod main_~B~0 4294967296)) 2)) main_~r~0)))} is VALID [2022-04-08 10:58:16,125 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #84#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 10:58:16,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:16,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:16,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:16,125 INFO L272 TraceCheckUtils]: 23: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:16,126 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #82#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 10:58:16,126 INFO L290 TraceCheckUtils]: 21: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:16,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:16,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:16,126 INFO L272 TraceCheckUtils]: 18: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:16,127 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8255#true} {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} #80#return; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 10:58:16,127 INFO L290 TraceCheckUtils]: 16: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:16,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:16,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:16,127 INFO L272 TraceCheckUtils]: 13: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:16,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} assume !false; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 10:58:16,128 INFO L290 TraceCheckUtils]: 11: Hoare triple {8255#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8756#(or (<= (* main_~d~0 4) main_~r~0) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296))) (* (+ (div (* main_~p~0 4) 2) main_~q~0 (div (div (* main_~p~0 4) 2) 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) 2)))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)) (not (= (* (div (* main_~p~0 4) 2) (mod main_~B~0 4294967296)) (div (* main_~d~0 4) 2))))} is VALID [2022-04-08 10:58:16,128 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8255#true} {8255#true} #78#return; {8255#true} is VALID [2022-04-08 10:58:16,128 INFO L290 TraceCheckUtils]: 9: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:16,128 INFO L290 TraceCheckUtils]: 8: Hoare triple {8255#true} assume !(0 == ~cond); {8255#true} is VALID [2022-04-08 10:58:16,128 INFO L290 TraceCheckUtils]: 7: Hoare triple {8255#true} ~cond := #in~cond; {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {8255#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {8255#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; {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {8255#true} call #t~ret6 := main(); {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8255#true} {8255#true} #94#return; {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {8255#true} assume true; {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {8255#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); {8255#true} is VALID [2022-04-08 10:58:16,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {8255#true} call ULTIMATE.init(); {8255#true} is VALID [2022-04-08 10:58:16,130 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 61 proven. 25 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-08 10:58:16,130 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:58:16,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1181169995] [2022-04-08 10:58:16,130 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:58:16,130 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2143532701] [2022-04-08 10:58:16,130 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2143532701] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:58:16,130 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:58:16,130 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 15] total 25 [2022-04-08 10:58:16,131 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:58:16,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1135086147] [2022-04-08 10:58:16,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1135086147] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:58:16,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:58:16,131 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 10:58:16,131 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [964802830] [2022-04-08 10:58:16,131 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:58:16,131 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 94 [2022-04-08 10:58:16,131 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:58:16,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 10:58:16,209 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-08 10:58:16,210 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 10:58:16,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:58:16,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 10:58:16,210 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=485, Unknown=3, NotChecked=0, Total=600 [2022-04-08 10:58:16,210 INFO L87 Difference]: Start difference. First operand 144 states and 176 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 10:58:29,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:29,348 INFO L93 Difference]: Finished difference Result 181 states and 207 transitions. [2022-04-08 10:58:29,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 10:58:29,349 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) Word has length 94 [2022-04-08 10:58:29,349 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:58:29,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 10:58:29,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 10:58:29,351 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 10:58:29,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-08 10:58:29,352 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2022-04-08 10:58:29,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:58:29,724 INFO L225 Difference]: With dead ends: 181 [2022-04-08 10:58:29,724 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 10:58:29,724 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 103.1s TimeCoverageRelationStatistics Valid=125, Invalid=574, Unknown=3, NotChecked=0, Total=702 [2022-04-08 10:58:29,725 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 18 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 643 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 672 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 643 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.3s IncrementalHoareTripleChecker+Time [2022-04-08 10:58:29,725 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 246 Invalid, 672 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 643 Invalid, 0 Unknown, 0 Unchecked, 9.3s Time] [2022-04-08 10:58:29,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 10:58:29,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 151. [2022-04-08 10:58:29,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:58:29,872 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 10:58:29,873 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 10:58:29,873 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 10:58:29,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:29,875 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 10:58:29,876 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 10:58:29,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:58:29,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:58:29,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 151 states. [2022-04-08 10:58:29,876 INFO L87 Difference]: Start difference. First operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) Second operand 151 states. [2022-04-08 10:58:29,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:58:29,880 INFO L93 Difference]: Finished difference Result 151 states and 174 transitions. [2022-04-08 10:58:29,880 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 10:58:29,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:58:29,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:58:29,881 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:58:29,881 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:58:29,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 92 states have (on average 1.0978260869565217) internal successors, (101), 99 states have internal predecessors, (101), 38 states have call successors, (38), 21 states have call predecessors, (38), 20 states have return successors, (35), 30 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 10:58:29,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 174 transitions. [2022-04-08 10:58:29,884 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 174 transitions. Word has length 94 [2022-04-08 10:58:29,884 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:58:29,884 INFO L478 AbstractCegarLoop]: Abstraction has 151 states and 174 transitions. [2022-04-08 10:58:29,884 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 7 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 7 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-08 10:58:29,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 174 transitions. [2022-04-08 10:58:30,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 174 edges. 174 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:58:30,181 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 174 transitions. [2022-04-08 10:58:30,182 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-08 10:58:30,182 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:58:30,182 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:58:30,199 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 10:58:30,395 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:58:30,395 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:58:30,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:58:30,395 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 11 times [2022-04-08 10:58:30,395 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:58:30,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [538955151] [2022-04-08 10:58:38,676 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:58:38,677 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:58:38,677 INFO L85 PathProgramCache]: Analyzing trace with hash -321511332, now seen corresponding path program 12 times [2022-04-08 10:58:38,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:58:38,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1011085235] [2022-04-08 10:58:38,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:58:38,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:58:38,686 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:58:38,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [483507495] [2022-04-08 10:58:38,686 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 10:58:38,686 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:58:38,686 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:58:38,687 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:58:38,688 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 10:58:38,779 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 10:58:38,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:58:38,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 165 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 10:58:38,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:58:38,799 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 10:58:39,649 INFO L272 TraceCheckUtils]: 0: Hoare triple {9813#true} call ULTIMATE.init(); {9813#true} is VALID [2022-04-08 10:58:39,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {9813#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); {9813#true} is VALID [2022-04-08 10:58:39,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9813#true} {9813#true} #94#return; {9813#true} is VALID [2022-04-08 10:58:39,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {9813#true} call #t~ret6 := main(); {9813#true} is VALID [2022-04-08 10:58:39,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {9813#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; {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L272 TraceCheckUtils]: 6: Hoare triple {9813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9813#true} {9813#true} #78#return; {9813#true} is VALID [2022-04-08 10:58:39,650 INFO L290 TraceCheckUtils]: 11: Hoare triple {9813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,650 INFO L290 TraceCheckUtils]: 12: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,650 INFO L272 TraceCheckUtils]: 13: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 16: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,651 INFO L272 TraceCheckUtils]: 18: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 19: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,652 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,652 INFO L272 TraceCheckUtils]: 23: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,652 INFO L290 TraceCheckUtils]: 24: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,652 INFO L290 TraceCheckUtils]: 25: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,652 INFO L290 TraceCheckUtils]: 26: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,652 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #84#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,653 INFO L290 TraceCheckUtils]: 28: Hoare triple {9851#(= main_~q~0 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,653 INFO L290 TraceCheckUtils]: 29: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,653 INFO L272 TraceCheckUtils]: 30: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,653 INFO L290 TraceCheckUtils]: 33: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,654 INFO L272 TraceCheckUtils]: 35: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,654 INFO L272 TraceCheckUtils]: 40: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L290 TraceCheckUtils]: 41: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,662 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #84#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,662 INFO L290 TraceCheckUtils]: 45: Hoare triple {9851#(= main_~q~0 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,662 INFO L290 TraceCheckUtils]: 46: Hoare triple {9851#(= main_~q~0 0)} assume !false; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,662 INFO L272 TraceCheckUtils]: 47: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L290 TraceCheckUtils]: 49: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L290 TraceCheckUtils]: 50: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #80#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,663 INFO L272 TraceCheckUtils]: 52: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:39,663 INFO L290 TraceCheckUtils]: 55: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:39,664 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9813#true} {9851#(= main_~q~0 0)} #82#return; {9851#(= main_~q~0 0)} is VALID [2022-04-08 10:58:39,664 INFO L272 TraceCheckUtils]: 57: Hoare triple {9851#(= main_~q~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:39,664 INFO L290 TraceCheckUtils]: 58: Hoare triple {9813#true} ~cond := #in~cond; {9993#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:39,664 INFO L290 TraceCheckUtils]: 59: Hoare triple {9993#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:58:39,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:58:39,665 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} {9851#(= main_~q~0 0)} #84#return; {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 10:58:40,144 INFO L290 TraceCheckUtils]: 62: Hoare triple {10004#(and (= main_~d~0 (* main_~p~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; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,145 INFO L290 TraceCheckUtils]: 63: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,145 INFO L272 TraceCheckUtils]: 64: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:40,145 INFO L290 TraceCheckUtils]: 65: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,145 INFO L290 TraceCheckUtils]: 66: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,145 INFO L290 TraceCheckUtils]: 67: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,146 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #80#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,146 INFO L272 TraceCheckUtils]: 69: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:40,146 INFO L290 TraceCheckUtils]: 70: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,146 INFO L290 TraceCheckUtils]: 71: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,146 INFO L290 TraceCheckUtils]: 72: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,146 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #82#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,147 INFO L272 TraceCheckUtils]: 74: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:40,147 INFO L290 TraceCheckUtils]: 75: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,147 INFO L290 TraceCheckUtils]: 76: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,147 INFO L290 TraceCheckUtils]: 77: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,147 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #84#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,148 INFO L290 TraceCheckUtils]: 79: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,154 INFO L290 TraceCheckUtils]: 80: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !false; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,154 INFO L272 TraceCheckUtils]: 81: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:40,154 INFO L290 TraceCheckUtils]: 82: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,154 INFO L290 TraceCheckUtils]: 83: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,154 INFO L290 TraceCheckUtils]: 84: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,155 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #86#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,155 INFO L272 TraceCheckUtils]: 86: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:58:40,155 INFO L290 TraceCheckUtils]: 87: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,155 INFO L290 TraceCheckUtils]: 88: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,155 INFO L290 TraceCheckUtils]: 89: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,156 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9813#true} {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} #88#return; {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 10:58:40,578 INFO L290 TraceCheckUtils]: 91: Hoare triple {10008#(and (= (* 2 (* (div (- main_~p~0) (- 2)) (mod main_~B~0 4294967296))) main_~d~0) (= main_~q~0 0) (= (mod main_~p~0 2) 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} is VALID [2022-04-08 10:58:40,579 INFO L290 TraceCheckUtils]: 92: Hoare triple {10004#(and (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:58:40,579 INFO L290 TraceCheckUtils]: 93: Hoare triple {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:58:40,579 INFO L272 TraceCheckUtils]: 94: Hoare triple {10099#(= 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)); {9813#true} is VALID [2022-04-08 10:58:40,579 INFO L290 TraceCheckUtils]: 95: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:58:40,579 INFO L290 TraceCheckUtils]: 96: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:58:40,579 INFO L290 TraceCheckUtils]: 97: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:58:40,580 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9813#true} {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:58:40,580 INFO L272 TraceCheckUtils]: 99: Hoare triple {10099#(= 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)); {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:58:40,581 INFO L290 TraceCheckUtils]: 100: Hoare triple {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10125#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:58:40,581 INFO L290 TraceCheckUtils]: 101: Hoare triple {10125#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9814#false} is VALID [2022-04-08 10:58:40,581 INFO L290 TraceCheckUtils]: 102: Hoare triple {9814#false} assume !false; {9814#false} is VALID [2022-04-08 10:58:40,582 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 70 proven. 22 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-08 10:58:40,582 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 10:59:02,515 INFO L290 TraceCheckUtils]: 102: Hoare triple {9814#false} assume !false; {9814#false} is VALID [2022-04-08 10:59:02,516 INFO L290 TraceCheckUtils]: 101: Hoare triple {10125#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9814#false} is VALID [2022-04-08 10:59:02,516 INFO L290 TraceCheckUtils]: 100: Hoare triple {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10125#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 10:59:02,516 INFO L272 TraceCheckUtils]: 99: Hoare triple {10099#(= 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)); {10121#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 10:59:02,517 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9813#true} {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:59:02,517 INFO L290 TraceCheckUtils]: 97: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,517 INFO L290 TraceCheckUtils]: 96: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,517 INFO L290 TraceCheckUtils]: 95: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,517 INFO L272 TraceCheckUtils]: 94: Hoare triple {10099#(= 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)); {9813#true} is VALID [2022-04-08 10:59:02,517 INFO L290 TraceCheckUtils]: 93: Hoare triple {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:59:02,518 INFO L290 TraceCheckUtils]: 92: Hoare triple {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:59:02,530 INFO L290 TraceCheckUtils]: 91: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:59:02,530 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #88#return; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,531 INFO L290 TraceCheckUtils]: 89: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,531 INFO L290 TraceCheckUtils]: 88: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,531 INFO L290 TraceCheckUtils]: 87: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,531 INFO L272 TraceCheckUtils]: 86: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,531 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #86#return; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,531 INFO L290 TraceCheckUtils]: 84: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,531 INFO L290 TraceCheckUtils]: 83: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,532 INFO L290 TraceCheckUtils]: 82: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,532 INFO L272 TraceCheckUtils]: 81: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,533 INFO L290 TraceCheckUtils]: 80: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,534 INFO L290 TraceCheckUtils]: 79: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !(~r~0 >= ~d~0); {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,535 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #84#return; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,535 INFO L290 TraceCheckUtils]: 77: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,535 INFO L290 TraceCheckUtils]: 76: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,535 INFO L290 TraceCheckUtils]: 75: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,535 INFO L272 TraceCheckUtils]: 74: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,535 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #82#return; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 72: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 71: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 70: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L272 TraceCheckUtils]: 69: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9813#true} {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #80#return; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 67: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 66: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L290 TraceCheckUtils]: 65: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,536 INFO L272 TraceCheckUtils]: 64: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,538 INFO L290 TraceCheckUtils]: 63: Hoare triple {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,541 INFO L290 TraceCheckUtils]: 62: Hoare triple {10099#(= 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; {10165#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-08 10:59:02,542 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} {9813#true} #84#return; {10099#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-08 10:59:02,542 INFO L290 TraceCheckUtils]: 60: Hoare triple {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:02,542 INFO L290 TraceCheckUtils]: 59: Hoare triple {10265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9997#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 10:59:02,542 INFO L290 TraceCheckUtils]: 58: Hoare triple {9813#true} ~cond := #in~cond; {10265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 10:59:02,543 INFO L272 TraceCheckUtils]: 57: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 55: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 54: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 53: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L272 TraceCheckUtils]: 52: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 50: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 49: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 48: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L272 TraceCheckUtils]: 47: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 46: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L290 TraceCheckUtils]: 45: Hoare triple {9813#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9813#true} is VALID [2022-04-08 10:59:02,543 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9813#true} {9813#true} #84#return; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 42: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 41: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L272 TraceCheckUtils]: 40: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 38: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 37: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 36: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L272 TraceCheckUtils]: 35: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 33: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 32: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,544 INFO L272 TraceCheckUtils]: 30: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 29: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 28: Hoare triple {9813#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9813#true} {9813#true} #84#return; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L272 TraceCheckUtils]: 23: Hoare triple {9813#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9813#true} {9813#true} #82#return; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L272 TraceCheckUtils]: 18: Hoare triple {9813#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9813#true} {9813#true} #80#return; {9813#true} is VALID [2022-04-08 10:59:02,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L272 TraceCheckUtils]: 13: Hoare triple {9813#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 12: Hoare triple {9813#true} assume !false; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {9813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9813#true} {9813#true} #78#return; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {9813#true} assume !(0 == ~cond); {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {9813#true} ~cond := #in~cond; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L272 TraceCheckUtils]: 6: Hoare triple {9813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {9813#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; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {9813#true} call #t~ret6 := main(); {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9813#true} {9813#true} #94#return; {9813#true} is VALID [2022-04-08 10:59:02,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {9813#true} assume true; {9813#true} is VALID [2022-04-08 10:59:02,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {9813#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); {9813#true} is VALID [2022-04-08 10:59:02,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {9813#true} call ULTIMATE.init(); {9813#true} is VALID [2022-04-08 10:59:02,547 INFO L134 CoverageAnalysis]: Checked inductivity of 483 backedges. 69 proven. 23 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2022-04-08 10:59:02,547 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 10:59:02,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1011085235] [2022-04-08 10:59:02,547 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 10:59:02,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [483507495] [2022-04-08 10:59:02,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [483507495] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 10:59:02,547 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 10:59:02,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 12 [2022-04-08 10:59:02,548 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 10:59:02,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [538955151] [2022-04-08 10:59:02,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [538955151] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 10:59:02,548 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 10:59:02,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 10:59:02,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1373754318] [2022-04-08 10:59:02,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 10:59:02,548 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-08 10:59:02,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 10:59:02,549 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 10:59:03,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:03,997 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 10:59:03,998 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:03,998 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 10:59:03,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-08 10:59:03,998 INFO L87 Difference]: Start difference. First operand 151 states and 174 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 10:59:05,764 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:59:10,511 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:59:13,721 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.57s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:59:17,487 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-08 10:59:20,424 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.24s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:59:27,006 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 10:59:32,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:32,038 INFO L93 Difference]: Finished difference Result 163 states and 185 transitions. [2022-04-08 10:59:32,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 10:59:32,038 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) Word has length 103 [2022-04-08 10:59:32,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 10:59:32,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 10:59:32,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-08 10:59:32,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 10:59:32,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-08 10:59:32,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 81 transitions. [2022-04-08 10:59:34,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:34,828 INFO L225 Difference]: With dead ends: 163 [2022-04-08 10:59:34,828 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 10:59:34,828 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 207 GetRequests, 193 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2022-04-08 10:59:34,829 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 21 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 19 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 246 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 15.9s IncrementalHoareTripleChecker+Time [2022-04-08 10:59:34,829 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 128 Invalid, 246 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 226 Invalid, 1 Unknown, 0 Unchecked, 15.9s Time] [2022-04-08 10:59:34,830 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 10:59:34,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 160. [2022-04-08 10:59:34,963 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 10:59:34,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 10:59:34,963 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 10:59:34,963 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 10:59:34,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:34,966 INFO L93 Difference]: Finished difference Result 161 states and 183 transitions. [2022-04-08 10:59:34,966 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 183 transitions. [2022-04-08 10:59:34,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:34,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:34,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) Second operand 161 states. [2022-04-08 10:59:34,967 INFO L87 Difference]: Start difference. First operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) Second operand 161 states. [2022-04-08 10:59:34,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 10:59:34,970 INFO L93 Difference]: Finished difference Result 161 states and 183 transitions. [2022-04-08 10:59:34,970 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 183 transitions. [2022-04-08 10:59:34,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 10:59:34,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 10:59:34,970 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 10:59:34,970 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 10:59:34,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 98 states have (on average 1.0918367346938775) internal successors, (107), 105 states have internal predecessors, (107), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (36), 31 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-08 10:59:34,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 182 transitions. [2022-04-08 10:59:34,973 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 182 transitions. Word has length 103 [2022-04-08 10:59:34,973 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 10:59:34,973 INFO L478 AbstractCegarLoop]: Abstraction has 160 states and 182 transitions. [2022-04-08 10:59:34,973 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (12), 5 states have call predecessors, (12), 4 states have call successors, (12) [2022-04-08 10:59:34,973 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 160 states and 182 transitions. [2022-04-08 10:59:35,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 182 edges. 182 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 10:59:35,458 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 182 transitions. [2022-04-08 10:59:35,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 10:59:35,459 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 10:59:35,459 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 10:59:35,483 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 10:59:35,659 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 10:59:35,660 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 10:59:35,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 10:59:35,660 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 3 times [2022-04-08 10:59:35,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 10:59:35,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1896092816] [2022-04-08 10:59:42,028 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Cannot deal with arrays. [2022-04-08 10:59:42,029 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 10:59:42,029 INFO L85 PathProgramCache]: Analyzing trace with hash 1306280540, now seen corresponding path program 4 times [2022-04-08 10:59:42,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 10:59:42,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [704183875] [2022-04-08 10:59:42,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 10:59:42,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 10:59:42,037 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 10:59:42,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [961818691] [2022-04-08 10:59:42,037 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 10:59:42,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 10:59:42,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 10:59:42,038 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 10:59:42,039 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 10:59:42,145 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 10:59:42,145 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 10:59:42,147 INFO L263 TraceCheckSpWp]: Trace formula consists of 243 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 10:59:42,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 10:59:42,167 INFO L286 TraceCheckSpWp]: Computing forward predicates...